{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 3小时入门numpy,pandas,matplotlib"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 一，numpy库"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 0  1  4  9 16 25 36 49] [[ 0.  0.]\n",
      " [ 0.  0.]] [ 0.   0.5  1. ] [0 1 2 3 4 5 6 7]\n"
     ]
    }
   ],
   "source": [
    "'1、创建array'\n",
    "import numpy as np\n",
    "a = np.array([t**2 for t in range(8)] )\n",
    "b = np.zeros([2,2]) # 可以创建多维度数组\n",
    "c = np.linspace(0,1,3)  #现性等分函数\n",
    "d = np.array(range(8))\n",
    "print(a,b,c,d)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "第一行 [1 2 4 5]\n",
      "第一列 [1 2 2]\n",
      "切片 [2 4]\n",
      "切片 [1 2]\n",
      "切片 [1 4]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([4, 5, 4, 7, 5, 9])"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'2、访问array元素'\n",
    "a = np.array([[1,2,4,5],[2,4,7,3],[2,5,3,9]])\n",
    "# 访问第一行\n",
    "print('第一行',a[0])\n",
    "print('第一列',a[:,0])\n",
    "print('切片', a[0][1:3])\n",
    "print('切片', a[0][:-2])\n",
    "print('切片', a[0][::2])\n",
    "b = a>3 #返回 bool数组\n",
    "c = copy(a[a>3])#利用bool数组选取元素\n",
    "c"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[3 5 7] [-1 -1 -1] [ 2  6 12] [ 0.5  1.   1.5] [0 1 1] [1 4 9] [1 0 1]\n",
      "dim of a = 2\n",
      "shape of a =  (3, 3)\n",
      "max of a = 5\n",
      "sum of a = 28\n",
      "20\n",
      "[17 25 19]\n"
     ]
    }
   ],
   "source": [
    "'3、array 运算'\n",
    "a = np.array([[1,2,4],[2,4,5],[3,5,2]])\n",
    "b = np.array([1,2,3])\n",
    "c = np.array([2,3,4])\n",
    "print(b+c, b-c, b*c, b/2,b//2, b**2,b%2) #常见运算符重载\n",
    "print('dim of a =', ndim(a)) #查看维度\n",
    "print('shape of a = ', shape(a)) #查看大小\n",
    "print('max of a =',a.max())\n",
    "print('sum of a =',a.sum())\n",
    "print(dot(b,c)) #点积\n",
    "print(dot(a,b)) #矩阵乘法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "A= [[ 1.  2.]\n",
      " [ 3.  4.]]\n",
      "转置A.T= [[ 1.  3.]\n",
      " [ 2.  4.]]\n",
      "A的逆A.I= [[-2.   1. ]\n",
      " [ 1.5 -0.5]]\n",
      "矩阵乘法A*A = [[  7.  10.]\n",
      " [ 15.  22.]]\n"
     ]
    }
   ],
   "source": [
    "'4、使用矩阵对象'\n",
    "A = np.matrix([[1.0,2.0],[3.0,4.0]]) #创建矩阵\n",
    "B = np.matrix(np.arange(1,3))\n",
    "print('A=',A)\n",
    "print('转置A.T=',A.T)\n",
    "print('A的逆A.I=',A.I)\n",
    "print('矩阵乘法A*A =',A*A)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 1.,  2.,  0.], dtype=float32)"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'5、使用ufunc函数'\n",
    "# numpy中的 ufunc具有向量化特征，\n",
    "# 且用c语言实现速度很快\n",
    "\n",
    "x = np.linspace(0,np.pi,5)\n",
    "y = np.sin(x)#np.sin(x) 作用到x的每一个元素\n",
    "\n",
    "np.sin(x,x) #第二个参数表示将返回值赋给x本身\n",
    "\n",
    "'frompyfunc函数可将普通python函数转换成ufunc函数'\n",
    "\n",
    "def f(x):\n",
    "    y = x if x>= 0 else 0\n",
    "    return(y)\n",
    "\n",
    "uf = np.frompyfunc(f,1,1)  #三个参数依次为 pyfun,nin,nout\n",
    "z = uf([1,2,-1])   #返回结果数据元素类型是 object\n",
    "\n",
    "#使用array对象的 astype方法将其转换成 np.float32\n",
    "z.astype('f4') "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 二、pandas库"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "one      1.0\n",
      "two      NaN\n",
      "three    6.0\n",
      "four     8.0\n",
      "dtype: float64\n",
      "Index(['one', 'two', 'three', 'four'], dtype='object')\n"
     ]
    }
   ],
   "source": [
    "'1,Series对象'\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "s = pd.Series([1,np.nan,6,8])\n",
    "s.index = ['one','two','three','four']\n",
    "print(s)\n",
    "print(s.index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2013-01-01</th>\n",
       "      <td>-0.807534</td>\n",
       "      <td>-0.171783</td>\n",
       "      <td>-0.575913</td>\n",
       "      <td>0.682260</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-01-02</th>\n",
       "      <td>-0.145923</td>\n",
       "      <td>-0.830515</td>\n",
       "      <td>1.533675</td>\n",
       "      <td>0.413450</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-01-03</th>\n",
       "      <td>0.649131</td>\n",
       "      <td>-0.587779</td>\n",
       "      <td>-0.126385</td>\n",
       "      <td>-1.928474</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   A         B         C         D\n",
       "2013-01-01 -0.807534 -0.171783 -0.575913  0.682260\n",
       "2013-01-02 -0.145923 -0.830515  1.533675  0.413450\n",
       "2013-01-03  0.649131 -0.587779 -0.126385 -1.928474"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'2,用array创建DataFrame对象'\n",
    "dates = pd.date_range('20130101',periods=3)  \n",
    "df = pd.DataFrame(np.random.randn(3,4),\n",
    "                  index=dates,columns=list('ABCD'))\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>age</th>\n",
       "      <th>gender</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>李雷</td>\n",
       "      <td>22</td>\n",
       "      <td>男</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>韩梅梅</td>\n",
       "      <td>23</td>\n",
       "      <td>女</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>吉姆</td>\n",
       "      <td>21</td>\n",
       "      <td>男</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  name  age gender\n",
       "0   李雷   22      男\n",
       "1  韩梅梅   23      女\n",
       "2   吉姆   21      男"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'3，导入excel文档创建DataFrame对象'\n",
    "classmates = pd.read_excel('classmates.xlsx')\n",
    "classmates.columns = ['name','age','gender']\n",
    "classmates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>age</th>\n",
       "      <th>gender</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>李雷</td>\n",
       "      <td>22</td>\n",
       "      <td>男</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>韩梅梅</td>\n",
       "      <td>23</td>\n",
       "      <td>女</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>吉姆</td>\n",
       "      <td>21</td>\n",
       "      <td>男</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>安妮</td>\n",
       "      <td>24</td>\n",
       "      <td>女</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>丽丽</td>\n",
       "      <td>女</td>\n",
       "      <td>21</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  name age gender\n",
       "0   李雷  22      男\n",
       "1  韩梅梅  23      女\n",
       "2   吉姆  21      男\n",
       "3   安妮  24      女\n",
       "4   丽丽   女     21"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'4,增加行'\n",
    "classmates.loc[3] = {'name':'安妮','age':24,'gender':'女'}\n",
    "classmates = classmates.append(pd.DataFrame([['丽丽','女','21']],\\\n",
    "             columns=classmates.columns),ignore_index=True)\n",
    "# ignore_index=True 表示索引重置\n",
    "classmates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>age</th>\n",
       "      <th>gender</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>李雷</td>\n",
       "      <td>22</td>\n",
       "      <td>男</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>韩梅梅</td>\n",
       "      <td>23</td>\n",
       "      <td>女</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>吉姆</td>\n",
       "      <td>21</td>\n",
       "      <td>男</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  name age gender\n",
       "0   李雷  22      男\n",
       "1  韩梅梅  23      女\n",
       "2   吉姆  21      男"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'5,删除行'\n",
    "# drop 和 append作用相反\n",
    "classmates = classmates.drop([3,4]) # 删除并生成新的数据框 \n",
    "classmates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>age</th>\n",
       "      <th>height</th>\n",
       "      <th>gender</th>\n",
       "      <th>hobby</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>李雷</td>\n",
       "      <td>22</td>\n",
       "      <td>170</td>\n",
       "      <td>男</td>\n",
       "      <td>浪</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>韩梅梅</td>\n",
       "      <td>23</td>\n",
       "      <td>160</td>\n",
       "      <td>女</td>\n",
       "      <td>耍</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>吉姆</td>\n",
       "      <td>21</td>\n",
       "      <td>165</td>\n",
       "      <td>男</td>\n",
       "      <td>约</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  name age  height gender hobby\n",
       "0   李雷  22     170      男     浪\n",
       "1  韩梅梅  23     160      女     耍\n",
       "2   吉姆  21     165      男     约"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'6，增加列'\n",
    "hobby = ['浪','耍','约']\n",
    "classmates['hobby'] = hobby\n",
    "height = [170,160,165]\n",
    "classmates.insert(2,'height',height) # 插入到第3列\n",
    "classmates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>age</th>\n",
       "      <th>gender</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>李雷</td>\n",
       "      <td>22</td>\n",
       "      <td>男</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>韩梅梅</td>\n",
       "      <td>23</td>\n",
       "      <td>女</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>吉姆</td>\n",
       "      <td>21</td>\n",
       "      <td>男</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  name age gender\n",
       "0   李雷  22      男\n",
       "1  韩梅梅  23      女\n",
       "2   吉姆  21      男"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'7,删除列'\n",
    "classmates = classmates.drop(['height'],axis = 1) \n",
    "del classmates['hobby']  #永久删除\n",
    "classmates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>gender</th>\n",
       "      <th>age</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>李雷</td>\n",
       "      <td>男</td>\n",
       "      <td>22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>韩梅梅</td>\n",
       "      <td>女</td>\n",
       "      <td>23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>吉姆</td>\n",
       "      <td>男</td>\n",
       "      <td>21</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  name gender age\n",
       "0   李雷      男  22\n",
       "1  韩梅梅      女  23\n",
       "2   吉姆      男  21"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'8,移动列'\n",
    "# 将 gender 移动到 age 前面\n",
    "gender = classmates.pop('gender') # 先弹出\n",
    "classmates.insert(1,'gender',gender) # 再插入到适当位置\n",
    "classmates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>age</th>\n",
       "      <th>gender</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>李雷</td>\n",
       "      <td>22</td>\n",
       "      <td>男</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>韩梅梅</td>\n",
       "      <td>23</td>\n",
       "      <td>女</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>吉姆</td>\n",
       "      <td>21</td>\n",
       "      <td>男</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  name age gender\n",
       "0   李雷  22      男\n",
       "1  韩梅梅  23      女\n",
       "2   吉姆  21      男"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'9,排序'\n",
    "classmates.sort_values(['name','age'],\n",
    "                       ascending = [0,1]) #按列排序\n",
    "classmates.sort_index()  #按索引排序"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>hobby</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>LiLei</th>\n",
       "      <td>李雷</td>\n",
       "      <td>男</td>\n",
       "      <td>22</td>\n",
       "      <td>浪</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      name gender age hobby\n",
       "LiLei   李雷      男  22     浪"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'10,拼接'\n",
    "friends = pd.DataFrame([['李雷','浪'],['大锤','约']],\\\n",
    "        columns = ['name','hobby'],index = ['LiLei','Dachui'])\n",
    "classmates.index = ['LiLei','HanMeiMei','Ann']\n",
    "friends = friends.drop(['name'],axis = 1)\n",
    "\n",
    "# 使用 concat 函数拼接,纵向拼接\n",
    "oldguys = pd.concat([classmates,friends],axis = 1,join='inner') \n",
    "oldguys"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>hobby</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>LiLei</th>\n",
       "      <td>李雷</td>\n",
       "      <td>男</td>\n",
       "      <td>22</td>\n",
       "      <td>浪</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      name gender age hobby\n",
       "LiLei   李雷      男  22     浪"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 使用 join 方法拼接\n",
    "oldguys = classmates.join(friends,how= 'inner')  \n",
    "oldguys"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>gender</th>\n",
       "      <th>age</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>HanMeiMei</th>\n",
       "      <td>韩梅梅</td>\n",
       "      <td>女</td>\n",
       "      <td>23</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          name gender age\n",
       "HanMeiMei  韩梅梅      女  23"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'11,选取数据'\n",
    "classmates.shape #查看形状'\n",
    "classmates.head(3) #前3行\n",
    "classmates.tail(3) #后3行\n",
    "classmates[1:3] #选择多行\n",
    "classmates['LiLei':'Ann'] #选择多行\n",
    "classmates.name #提取一列返回series\n",
    "classmates[['name','age']] #选择多列\n",
    "classmates.loc['LiLei':'Ann',:] #用标签查看数据\n",
    "classmates.iloc[0:2,:] #用下标查看数据\n",
    "\n",
    "#布尔索引\n",
    "classmates[(classmates['age']>22) & (classmates.age<24)] "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "'12,导出到csv和 excel 文档'\n",
    "classmates.to_csv('myclassmates.csv')\n",
    "# 使用writer 可以在一个excel文档里写多个表格\n",
    "\n",
    "# 导出dataframe到指定sheet\n",
    "classmates.to_excel('myclassmates.xlsx','sheet2')\n",
    "\n",
    "# 导出多个dataframe到同一个excel表格多个sheet\n",
    "friends = classmates[0:1].copy()\n",
    "writer = pd.ExcelWriter(\"oldguys.xlsx\")\n",
    "classmates.to_excel(writer,sheet_name = \"classmates\")\n",
    "friends.to_excel(writer,sheet_name = \"friends\")\n",
    "writer.save()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>6.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>6.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>-0.369763</td>\n",
       "      <td>-0.517788</td>\n",
       "      <td>-0.950100</td>\n",
       "      <td>-0.294953</td>\n",
       "      <td>0.153838</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>1.025086</td>\n",
       "      <td>1.186573</td>\n",
       "      <td>0.710690</td>\n",
       "      <td>0.848069</td>\n",
       "      <td>0.942500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>-1.425065</td>\n",
       "      <td>-1.700938</td>\n",
       "      <td>-1.973642</td>\n",
       "      <td>-1.205523</td>\n",
       "      <td>-1.477654</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>-1.082210</td>\n",
       "      <td>-1.525232</td>\n",
       "      <td>-1.252437</td>\n",
       "      <td>-0.945107</td>\n",
       "      <td>-0.061296</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>-0.652042</td>\n",
       "      <td>-0.649557</td>\n",
       "      <td>-0.980377</td>\n",
       "      <td>-0.231903</td>\n",
       "      <td>0.177644</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>0.226716</td>\n",
       "      <td>0.159028</td>\n",
       "      <td>-0.661745</td>\n",
       "      <td>-0.064151</td>\n",
       "      <td>0.875445</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>1.216534</td>\n",
       "      <td>1.281890</td>\n",
       "      <td>0.132455</td>\n",
       "      <td>1.090688</td>\n",
       "      <td>1.078291</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              A         B         C         D         E\n",
       "count  6.000000  6.000000  6.000000  6.000000  6.000000\n",
       "mean  -0.369763 -0.517788 -0.950100 -0.294953  0.153838\n",
       "std    1.025086  1.186573  0.710690  0.848069  0.942500\n",
       "min   -1.425065 -1.700938 -1.973642 -1.205523 -1.477654\n",
       "25%   -1.082210 -1.525232 -1.252437 -0.945107 -0.061296\n",
       "50%   -0.652042 -0.649557 -0.980377 -0.231903  0.177644\n",
       "75%    0.226716  0.159028 -0.661745 -0.064151  0.875445\n",
       "max    1.216534  1.281890  0.132455  1.090688  1.078291"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'13,常用统计函数'\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "dates = pd.date_range('20170501',periods=6)\n",
    "df = pd.DataFrame(data=np.random.randn(6,5),\n",
    "                  index = dates,columns = list('ABCDE'))\n",
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2017-05-01</th>\n",
       "      <td>-70.88%</td>\n",
       "      <td>-166.32%</td>\n",
       "      <td>13.25%</td>\n",
       "      <td>-116.74%</td>\n",
       "      <td>-6.33%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-05-02</th>\n",
       "      <td>121.65%</td>\n",
       "      <td>-170.09%</td>\n",
       "      <td>-99.27%</td>\n",
       "      <td>109.07%</td>\n",
       "      <td>41.05%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-05-03</th>\n",
       "      <td>-142.51%</td>\n",
       "      <td>128.19%</td>\n",
       "      <td>-197.36%</td>\n",
       "      <td>-120.55%</td>\n",
       "      <td>107.83%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-05-04</th>\n",
       "      <td>-59.53%</td>\n",
       "      <td>-18.78%</td>\n",
       "      <td>-133.90%</td>\n",
       "      <td>-18.55%</td>\n",
       "      <td>-5.52%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-05-05</th>\n",
       "      <td>50.07%</td>\n",
       "      <td>-111.13%</td>\n",
       "      <td>-55.97%</td>\n",
       "      <td>-27.83%</td>\n",
       "      <td>103.04%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-05-06</th>\n",
       "      <td>-120.67%</td>\n",
       "      <td>27.46%</td>\n",
       "      <td>-96.80%</td>\n",
       "      <td>-2.37%</td>\n",
       "      <td>-147.77%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   A         B         C         D         E\n",
       "2017-05-01   -70.88%  -166.32%    13.25%  -116.74%    -6.33%\n",
       "2017-05-02   121.65%  -170.09%   -99.27%   109.07%    41.05%\n",
       "2017-05-03  -142.51%   128.19%  -197.36%  -120.55%   107.83%\n",
       "2017-05-04   -59.53%   -18.78%  -133.90%   -18.55%    -5.52%\n",
       "2017-05-05    50.07%  -111.13%   -55.97%   -27.83%   103.04%\n",
       "2017-05-06  -120.67%    27.46%   -96.80%    -2.37%  -147.77%"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.mean() #求每列平均\n",
    "df.sum(1) #按行求和 \n",
    "\n",
    "df.apply(max,1) #求每行最大值\n",
    "\n",
    "MaxDrawDown = lambda x:min([(x[i]-max(x[0:i+1])+0.0)/max(x[0:i+1]) \\\n",
    "         for i in range(len(x))]) #定义最大回撤函数\n",
    "df.apply(MaxDrawDown) #调用lamda函数\n",
    "\n",
    "formatdf = df.applymap(lambda x:format(x, '.2%')) #转换成百分数显示\n",
    "formatdf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2017-05-01</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-05-02</th>\n",
       "      <td>-2.716441</td>\n",
       "      <td>0.022692</td>\n",
       "      <td>-8.494788</td>\n",
       "      <td>-1.934302</td>\n",
       "      <td>-7.483921</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-05-03</th>\n",
       "      <td>-2.171414</td>\n",
       "      <td>-1.753637</td>\n",
       "      <td>0.988106</td>\n",
       "      <td>-2.105286</td>\n",
       "      <td>1.626600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-05-04</th>\n",
       "      <td>-0.582243</td>\n",
       "      <td>-1.146483</td>\n",
       "      <td>-0.321555</td>\n",
       "      <td>-0.846101</td>\n",
       "      <td>-1.051229</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-05-05</th>\n",
       "      <td>-1.841099</td>\n",
       "      <td>4.918441</td>\n",
       "      <td>-0.582041</td>\n",
       "      <td>0.499916</td>\n",
       "      <td>-19.653476</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-05-06</th>\n",
       "      <td>-3.409866</td>\n",
       "      <td>-1.247116</td>\n",
       "      <td>0.729702</td>\n",
       "      <td>-0.914862</td>\n",
       "      <td>-2.434035</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   A         B         C         D          E\n",
       "2017-05-01  0.000000  0.000000  0.000000  0.000000   0.000000\n",
       "2017-05-02 -2.716441  0.022692 -8.494788 -1.934302  -7.483921\n",
       "2017-05-03 -2.171414 -1.753637  0.988106 -2.105286   1.626600\n",
       "2017-05-04 -0.582243 -1.146483 -0.321555 -0.846101  -1.051229\n",
       "2017-05-05 -1.841099  4.918441 -0.582041  0.499916 -19.653476\n",
       "2017-05-06 -3.409866 -1.247116  0.729702 -0.914862  -2.434035"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfchange = df.pct_change()  #求每日变化比例\n",
    "dfchange.fillna(0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "count\t            非 NA 值的数量\n",
    "describe\t        针对 Series 或 DF 的列计算汇总统计\n",
    "min , max\t        最小值和最大值\n",
    "idxmin , idxmax\t    最小值和最大值的索引值\n",
    "quantile\t        样本分位数（0 到 1）\n",
    "sum\t                求和\n",
    "mean\t            均值\n",
    "median       \t    中位数\n",
    "mad\t                根据均值计算平均绝对离差\n",
    "var\t                方差\n",
    "std\t                标准差\n",
    "skew\t            样本值的偏度（三阶矩）\n",
    "kurt\t            样本值的峰度（四阶矩）\n",
    "cumsum\t            样本值的累计和\n",
    "cummin , cummax\t    样本值的累计最大值和累计最小值\n",
    "cumprod\t            样本值的累计积\n",
    "diff\t            计算一阶差分\n",
    "pct_change\t        计算百分数变化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2314"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'14,时间格式'\n",
    "import time\n",
    "import datetime\n",
    "import pandas as pd\n",
    "q = pd.datetime(2012,3,21)\n",
    "p = pd.datetime.today() #datetime对象时间\n",
    "\n",
    "#strftime将对象时间转换成字符串时间\n",
    "qstr = q.strftime(\"%Y-%m-%d %H:%M:%S\") \n",
    "ptup = pd.datetime.timetuple(p) #转换成tumple时间\n",
    "\n",
    "#striptime将字符串时间转换成tumple时间\n",
    "qtup = time.strptime(qstr, \"%Y-%m-%d %H:%M:%S\") \n",
    "qstamp = time.mktime(qtup) #转换成时间戳\n",
    "pstamp = time.mktime(ptup) \n",
    "\n",
    "#计算两天的时间间隔\n",
    "ndays = int((pstamp - qstamp)/(3600*24))\n",
    "ndays"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## 三、matplotlib 库"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "matplotlib 支持函数式绘图和面向对象绘图两种绘图方式。\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa8287ad7b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "'1，折线图—————函数式绘图示范'\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "x = np.linspace(0,2*np.pi,100,endpoint=True)\n",
    "y = np.sin(x)\n",
    "x2 = x;y2 = np.cos(x2)\n",
    "plt.plot(x,y,'b-d',label='中文$sin(x)$')  \n",
    "plt.plot(x2,y2,'r-*',label='$cos(x)$') \n",
    "plt.xlabel('x',fontsize=14);plt.ylabel('y',fontsize=14)\n",
    "plt.grid(color='b' , linewidth='0.3' ,linestyle='--')\n",
    "plt.title('wave graph',fontsize=18,color='r', weight='light' )\n",
    "plt.xlim(min(x)-0.1,max(x)+0.1)\n",
    "plt.ylim(min(y)-0.1,max(y)+0.1)\n",
    "\n",
    "plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus']=False #用来正常显示负号\n",
    "\n",
    "plt.legend(loc='best',fontsize = 15) ##最优化标签位置\n",
    "plt.annotate('波峰',xy=[np.pi/2,1],xycoords='data',xytext=(-0,-80),\n",
    "             arrowprops=dict(color='red',shrink=0.1),\n",
    "             textcoords='offset points',fontsize = 15,color = 'black')\n",
    "savefig('demo.jpg');\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 1，控制颜色\n",
    "\n",
    "颜色之间的对应关系为\n",
    "b---blue   c---cyan  g---green    k----black\n",
    "m---magenta r---red  w---white    y----yellow\n",
    "\n",
    "有四种表示颜色的方式\n",
    "a:用英文全名如：purple                b: 用16进制如：#FF00FF  \n",
    "c:用RGB或RGBA元组（1,0,1,1）          d：灰度强度如：‘0.7’\n",
    "\n",
    "#### 2，控制线型\n",
    "\n",
    "符号和线型之间的对应关系为\n",
    "-      实线                         --     短线\n",
    "-.     短点相间线                    ：     虚点线\n",
    "\n",
    "#### 3，控制标记风格\n",
    "\n",
    ".  Point marker                     ,  Pixel marker\n",
    "o  Circle marker                    +  Plus marker\n",
    "v  Triangle down marker             ^  Triangle up marker \n",
    "<  Triangle left marker             >  Triangle right marker \n",
    "\n",
    "1  Tripod down marker               2  Tripod up marker\n",
    "3  Tripod left marker               4  Tripod right marker\n",
    "\n",
    "s  Square marker                    p  Pentagon marker\n",
    "*  Star marker                      x  Cross (x) marker\n",
    "h  Hexagon marker                   H  Rotated hexagon                 \n",
    "D Diamond marker                    d  Thin diamond marker             \n",
    "| Vertical line marker              _  Horizontal line marker      \n",
    "\n",
    "r'$\\sqrt{2}$'   any Latex expression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAa8AAAEyCAYAAABNk1+cAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAJOgAACToB8GSSSgAAIABJREFUeJzs3X18jfUfx/HX2dnO7uzejN3YnbkZRja3LcyQSKgIuReV\n20Tq96t+VLrTjRSKiEREKlEod2nuh8xs2MYYw27shtl2trPz+2Nooxh2znXO9nk+Hj0e7TrXdX3f\n59TOZ9/r+l7frwo90xFCCCHMiIXSAYQQQoi7JcVLCCGE2ZHiJYQQwuxI8RJCVCm2V7H4ZCItgo9i\nfy/Hu1zC8oMpNLfSoqrsbKLySPESQlQZVlpU2yLoM/FTer75P1r9237ZTryoVzHt+j+9f6T29dcs\ni1FNnM2jz87HvyJtXnLlhSkfUB/ggyk0P+PD6Nvt75CL+oIHYyO24lZ2+8eTeCDZl2cGLscrtjFP\nO2VjWZH2qyspXkKIKqHWRTQHWzDAL5naL81kRZffaXGoOU/VP47dzft22srCtruY3XYXs6/aUqDR\nYlH3DDZ1z2BjW4D6tC/nHvuZBte31T2DjXVB5XxfvvIewQDbO5JZdrtOjd6iBItfenDRPg+b6dMJ\nqYz2qiqVDJUXQpi7p1bi+ekEHtdqKOq2keVHm3ClxQEcV/flSY+LuM1/ls1TZ/KXzhL9zcdesWfq\nigHseGYRD9+ujWfn8/WC0SRP+YD6H0xlQEWzXT8OSnuGp315bvnT7P6jA6mjviSk189sBpjxKk1H\nLuKhJ9bwbcQ26vgl4/TFc8QdCCP3Lj+OakG6pUIIs+V5Duv5z9L+kQ20OdiC+B6/sDa9FkUAB0PJ\nbXiMxYuHEz5uDt0HrKDNkmHsfOt1YjVaLJxyS7//VHr4pQfJoxbyBsDb/6Vpqid5c8dx8t/azXYi\nN3ILiwC2RDLyy1FsXdmfU2PmEfzIBpr3XMe3AH8+xPNlj/v8eVrnOpI3dSZ/xTZhUFIgF//3JsHd\nNtAg4CSeHmnU/KMD4zNqknnWm3THXBIM9dmZOyleQgizVC8Bu4MtGKPWof74RX5uvRffNA/+e/N+\nFzxIj9jG3I8m02ncHLp+OYqERSOJjNhO6M37eqdgPWkWPV6bwRqAR9dRK8uFop3hZJXdT2+B/mBo\naY9Ib4E+rRb5B0PJzXKhQKem5MZrqvI9vae+4yGdGt1lB17Sq9B3+Z3Vg7/B71hDLiQFkv7EGsJd\nsphZaENJZX5WVZEULyGEWUoM4uq3A9nxwUscSapHvm8yx90y2Q6wpw0TXnmP77Z35GKBDbq4xuS1\n3cMPbhlYZdakyD0dp0Uj2PTMIvaUPefnz9M+LpiTH08mwf4K6oXP0Pf3LhzeGU5UZWR+dj7farSo\n545lwOyJ/JrqReH7r3AcIHIzbgNW0Kn3T9QOj8IzJAZP/1PU9j/Fl/90ubO6k+IlhDBbz81n3/V/\nP+1HwWk/Cq7/fNabvOs9oOsya5ZeUnTLxDHZj5yyr42dQ0DENh5YNJIt3w6gfbPD1NWr0I9ewK6b\n21WVoGocS43r/+56CZvGsdRwysHaogSLG6/dVHLW9uLCX80ZsqsdR159hyPeKVi//D5Nmx6hTlAC\nXuoSVAtGM+CUP+fiG5G6thfx9/sZVVUyYEMIYbZGL8Bv/rMMrej+L81kxYcvceKqLa/YFmB9fXun\nLcz5tTujbQrR6FVwxZ48u6vYDv2axcsHcbbsOe51wIaVFtWeNvRtfJR6e1sT2/gofrvbEl/3DDXj\nG5G6uy3n3pjGY5+N57d3/kvcwRY8vbI/B96YTlxF26pOpOclhDBbK/qTEh3KLCjt5eivPVZc9rKh\nWodKpy697JYUyFUA39N8pNKj8kzF+lALXrzkivbDKazLqElBTAhZKwbQ/6fe7HHMxWrSx9Sb9SKJ\nZdvNciGnTiqfApz3ZML7U9nwyQskvPNfmvVdTcugBBYCZLox5foxFiWoXLJwONyM4yfqk/bW6+za\n3IWMsuftv5LkiG3Ui9xCUM0MXL4cRZLhPj3zJsVLCGG2LjuiOxhK7vzRtH5wJ/WaHGX59dfOepN3\nyp+r8Y149qfe7C97ifH6iET3dDQAefboXp9BbGAittsiGHzKn/NDvybqwyk8MPBb2t5cvADKDqrQ\nqdEX2lBSYlFaJP9pwEWhDSUBp0pHKHqnYD1oGX691uI3fg7R1/dZ15O4t1/jqVwHrjz+A0ts8+VZ\n3H8jH4wQwmxZF2Cxqi8dhy2h8ycv3DqoIsuV4tdmsH7IUjr90p2uqptKyvXile6Otusmau5pwzMX\nanOp43Z+0mixiArnvEsWzuM+I+B+s/qfxPbPcHqdr82Y0768POVDHvZIK703Vvs8moUjafPq2zym\nV8GO9sRs6UzmvlaMHrGIuvfbdlUkPS8hhNk62IKB3mfxGD+H5QtHcbrPD9S+aofOogSLIqvS3s/C\nUZwusGHZopEM+fx5sp+bzz7vFKzDonGJ2IbXVVvyW+/FeV1PRuvU6DRaLJMCGVUrjZqWOizT3Ml4\nejnN54z/+7kvlyyc9CqmXf/5g6kM+GDq37nKvnbdqQDy823Rfv8k+9b2Ivn6JcNFI2j79HIidGp0\nq/rx5+9dOL14OMN+7E2JYy6OO9qXv7QoSknxEkKYrbdfZVt0GFknGpTey5o+nYjgOOpdciVrb+u/\nn81aNpizBTYs/qUHFwHsrqL+agT97a5i+2MfdsY24bJah1pThFWD4/ifqUvqyv788cVzxJ7zoiC+\nERPd07C6frkxx5HL3Tby1Z3ybYnk2bI/d/2dDTfvs+lhTl92YONbr3Pk+mhInxS+f/Vtem6JZH9i\nUOl7E+XJaEMhhKD0OauMmmhjQrisv+mGSvBR7M/XoTDLlWJl0ombSfESQghhdmTAhhBCCLMj97yE\nqAJahLaYFhgYqHQMISrF6t2rz5PCgtvtI8VLiCogMDCQVatWKR1DiEqhClNl3WkfuWwohBDC7Ejx\nEsIULMQXW16m7NLvidjSiMH4MZL3aKBgOiFMjhQvIZR2DmuW0BxP0sptn04ow9lLNEtZwIP3evpi\nXQl6vayoIUyDXq9HV3L//z/KPS8hlOZFIVGsJYhh5bbH48l0DlCTImzQkoYV1x6SvRtf/JHEJ5sT\ncLK1wq+mPc28nekS7EErf1fUFqrKehdC3KJIV8KupEw2x10k5lwOZzLzyC0oZkbvJgxodX+zXknx\nEsJU5WGN67ViZYuWVGzKFa/pBLOexgApVin/epo+Lbxp5uNM1tUiEi9eZn9yFkt2naK2ow0jHwpg\nYKu62GrUBn4zojrJLSjim92nWbwzmZx8LW0Da9KpQS0Ca9njbKuhvkeN+25DipcQpsqeQjLR4Eox\n+Wjw/HuhRQCmE8e1tZ58+vncMpfedV7Otng525bblnGlkJX7zjBvWyJfRZ3itR6NeKRpHUO8i9vK\ny8sjPT0dnU5n9LarOrVajbu7O/b29kZrU6/Xs+bgOd7bEI+V2oLnOgTQN8wHJ1urSm9LipcQpiqY\nVL7Hh1GcpADNvVwy/Dc1a1gzrlMQwx7057MtCYxfcYhHj17gzd5NcLSp/C+af5KXl8fFixfx9vZG\no9EYpc3qRKvVcvbsWTw8PIxSwDKvFDL1+xiiEjMYG1GP0e0DsLEyXI9eBmwIYWoGEU40jkzjAEtp\nRRhDGc1OQzRVw9qS/3RvxJrn2/FXSja95uzkZPoVQzR1i/T0dClcBqTRaPD29iY9Pd3gbcWey6HH\np1Gk5hTwy4RwJkQGGbRwgfS8hDAdCSwBYFmZdani+cYYTTfzcWbd+HAmrDhEn3m7WDg0jJZ+rgZt\nU6fTSeEyMI1GY/BLsluPXWTs8kN0bezB+0+EGLxoXSc9LyEEAA42Viwc2pKezeowZNE+ohJkGSlx\ne78eOc/opQd45iF/PnmqudEKF0jxEkKUobZQ8VavJgxu68uIr/ezOylT6UjCRG06eoHxKw4xuWsD\nJndtgEpl3McupHgJIcpRqVT855GGDGxVl1FLozlyNkfpSMLE7ErMYPy3h5jUOYjnOyozIbQULyHE\nLVQqFf97NJguwR4MX7Kfc9n5SkcSJiLh4mWe/eYAg9v6MjainmI5pHgJIf6RhYWK958IIcDdnpFL\n9pNXKIsIG9LOnTtp1qwZJSUlFdq/Z8+eLFmyxLChbnIpT8uIr/fTNtCNV7s3MvqlwrKkeAkh/pXG\n0oIvBoVyVavj5TUxMkeiAY0fP5433ngDC4uKfS3PmDGDl19+mfx84/SKdSV6xq84SA1rK2Y91RwL\nhacWk+IlhLgtV3sNnw9qwe9xF1myK1npOFXStm3buHDhAj179qzwMc2aNcPX15dly5YZMNnfZv1+\ngiNnc5g/KBR7a+WfspLiJYS4o8aeTrzVqwnv/Bpf7QdwHDx4kEcffRRnZ2ccHBxo27YtWVmlayeu\nX7+eNm3a4OjoSN26dZk1a9aN4y5fvsyYMWPw9vamRo0aeHl58dFHHwGwZs0aIiMjUav/Hmq+dOlS\n3Nzcbpw7IyODpk2bMnXq1Bv7dOvWjR9++MHg7zkqIYO52xP5qF9z6rrZGby9ilC+fAohzELfMG/+\nTMxg4spDrJ8Qjp2mcr8+inUlnM8puPOOlaiOkw2W6or/Db9hwwYGDhzIJ598wnfffYelpSWbNm3C\n2dmZb7/9lsmTJ7Ns2TI6depEbGws4eHhNGjQgO7duzNx4kS0Wi2xsbE4Oztz5swZcnNzAYiOjqZP\nnz7l2ho8eDBz5sxhxowZvPbaa3Tp0oXOnTszc+bMG/uEhIQwb968yvkw/sWlPC0vrvqLoW396BLs\nYdC27oYULyFEhahUKmb0bkL32X8y45d43unTtFLPfz6ngIdmbqvUc97Jn1Mj8HGtWE+isLCQESNG\nMHv2bIYMGXJj+2OPPUZeXh6TJk3iiy++IDIyEoCmTZvy4IMPEhUVRffu3Tl+/Dj+/v4UFJQW6Lp1\n/14S5NKlSzg5OZVrT6VSMXv2bCIiIti6dSvt2rUr15MDcHJyutEzMwS9Xs9/fojB1V7DK480NFg7\n90KKlxCiwpxsrfiwbzMGLtxDt8a1aV/fvdLOXcfJhj+nRlTa+SraZkXt2LGDy5cvM3DgwFte2759\nO7m5ufTq1avc9rS0NFxdS6fZWrhwIW+++SZNmjQhICCAcePG3SiCrq6u5OTcejk2ICAABwcHrl69\nypw5c255PScnBxcXlwq/h7v18+FUth5L4+dx4UadPaMipHgJIe5K20A3hrb145U1MWyc1L7SZqG3\nVFtUuBekhPT0dBwdHbG0vPVr8/Lly7i4uJQbKXjs2DFiYmJYunQpAI0aNWLFihXodDoWL17M0KFD\n6dmzJy4uLoSGhnL06NFy58zIyCAyMpJ+/fqxdOlSNm3aRLdu3crtc+TIEcLCwgzwbiEtt4D/rT3K\nhE5BNKrjaJA27ocM2BBC3LWp3Rpgqbbgg43HlY5iNC1atCA9PZ3ly5ej0+nIy8vjl19+QafT0bp1\nazIzM1m/fj0lJSUcPHiQJ554grFjxxIcHMyPP/7I4cOHKS4uRqvVkpKSQlBQ0I1e0+OPP86WLVtu\nTKKblZVF586d6dq1K3PnzuWll15i0qRJFBWVXxVn48aNt9wrqyzT1x3F28WW5xSaQeNOpHgJIe6a\nncaSt/s0Ydne0xw4bbh7LqakYcOGLF26lHfeeQcnJyf8/PxYvnw5arUaf39/li1bxuTJk3FwcGDg\nwIGMHj2ajz/+GIB9+/bRq1cvHB0d8ff3Jz4+no0bN944d2RkJLVq1WLdunXk5OTQtWtX2rVrd+P4\nKVOmkJubW+7SYUxMDKdOnWLw4MGV/l43x11kY+wF3n8iBKu7GNBiTCr0TFc6hBDi/vTt13faqlWr\njN7upO/+Ii41l/UTwu/6Sy4pKYnAQNP8q14JUVFRjB07lkOHDlXoQeXHHnuMPn36MHz48Nvud7ef\n81VtMZ0/+oPuTevw2qPBFT6uMqnCVHFEs/p2+5hmSRVCmIXXejTifE4+X8vDy/ctPDycw4cPV3iG\njZ9//vmOhetefLY1ET0wqUv9Sj93ZZLiJYS4Z241rJnycAM+2ZxAWq5xn9ESlS8p/QoL/zzJaz2C\nTWIWjduR4iWEuC9Pt/bF182OdzccUzqKuA96vZ7pPx+llb8r3ZvWVjrOHUnxEkLcF7WFimk9G/PT\nX+c4eKZ6DN6oirYeS2NXUibTezZWdLb4ipLiJYTSclETSj/8Gck4/n5oZw4BuDOeIIYxitYKJryj\n0r/W6/DmujiZed4MaYtLePuXeAa1rkuQh4PScSpEipcQSptJI8JIJoGv+JUQcimdyiADG0awgwSW\n8CV7FU55R/95pCFx53P5+XBqhfZXq9VotVoDp6retFptucl+/82yPafJuFLIC51Ne5BGWVK8hFDa\nITzpTAqW6PEjjShK5xPKwoaamM0Sxt4udox40J8PNh2nsFh3x/3d3d05e/asFDAD0Wq1nD17Fnf3\n20/hlZNfxKdbE5gQGYSLvcZI6e6faQ8nEaI6uII1jpROnWCLlnRKJ9yzQM8c2vM54TzDLv5L+RER\n0wlmPY0BUqxSjBz6n42JCOS7/WdYuus0o9oH3HZfe3t7PDw8SE1NvTGzhKg8arUaDw8P7O3tb7vf\nvO2JONhYMritr5GSVQ4pXkIorQaFZFP6J28+GtwpHXM+i0PM4hDn0dCCkbzCsXLXSqYTx3TiAHz6\n+Uwzeu5/4GhjxYTIIGb9foJ+YT442d1+3kN7e/s7frkKw0nNzmfxzmQ+7NsMa0vTmnj3TuSyoRBK\na0Eqm/GhGBXJ1CKcSwAUXPv9dKEYDcXm8tv6dGtfHG2tmL8jSeko4g5mb06gvkcNHm1aR+kod81M\nfh2EqMImc4wD+BLECLoTwxjaEo0j42lJPYYRzDCGsFvpmBWlsbRgctf6fLXzFBflwWWTlZh2mdUH\nUpj6cEMsLEx/aPzN5LKhEEpzppiD3DoxYRh7wfRHGf6TXs28mP/HST7bmsCM3pW7aKWoHB/9doLW\n/m48FFRT6Sj3RHpeQohKZ2GhYnLXBqzcl0LKpatKxxE3iT2Xw4bYC7zUrYFZPJD8T6R4CSEMonOj\nWjT2cmL2lgSlo4ibfPTbcSIb1qJFXcOtwmxoUryEEAahUqmY0rU+Pxw8S1L6FaXjiGsOnM5i2/F0\nk581/k6keAkhDCa8Xk3CfF35VHpfJmPW7yd4pEltmng5KR3lvkjxEkIYjEql4oUuQfx8OJXEtMtK\nx6n29p26RFRiBhM7Bykd5b5J8RJCGFS7wJq09nflk83S+1LarN9P0COkDg1rOyod5b5J8RJCGNyk\nzvX55ch5Ei5K70spe09msudUJhMjzb/XBVK8hBBG0DrAjVZ+rny2NVHpKNXWp1sT6N6kDvXNZMmT\nO5HiJYQwiomdg1gXk0pimow8NLbo5EvsTMxkfGQ9paNUGileQgijaBvgRpivC/O2Se/L2GZvSeCR\nJrWrxL2u66R4CSGMQqVSMb5TEGsPp3I6M0/pONXGXynZ/JmQwbhOVafXBVK8hBBG9FBQTZp4OTFv\nm8w4byxztiaUznbiad7Pdd1MipcQwmhUKhUTOtVjzcGznM2SOQ8N7WhqDpvj0xjXqWqMMCxLipcQ\nwqg6NaxFfQ8HFuw4qXSUKm/utkQeCqpJcx9npaNUOileQgijUqlUjOtUj5X7U0iT9b4MJjHtMhti\nLzAuomrd67pOipcQwui6Na5NXVc7FkadUjpKlTVvWxItfV1pHeCmdBSDkOIlhDA6CwsVYzoGsmzP\nabLytErHqXLOZF5l7eFUxlaxEYZlSfESQijisWaeuNprWLwrWekoVc78HUkE13GkvZmuklwRUryE\nEIqwVFvwXIdAluw8xeWCIqXjVBkXcwtYHX2WsRGBZrtKckVI8RJCKObJUG9srNQs23NG6ShVxsI/\nT1LXzY6uwbWVjmJQUryEUFouakLphz8jGUfYje2J2NKIwfgxkvdooGBCg7GxUjPqoQAWRZ2ioEin\ndByzl5WnZfneM4zpGIiFRdXtdYEULyGUN5NGhJFMAl/xKyHkogZgOqEMZy/RLGUBDyqc0mAGtq5L\ncUkJq6NTlI5i9pbsSsbVXkPPZp5KRzE4KV5CKO0QnnQmBUv0+JFGFK4AxOPJ46RQkyJs0JKGVbnj\nphNMGH0Jo29Kivl+8dtbWzK8nT9f/HGSIl2J0nHM1pXCYpbsSua5DoFYqav+V3vVf4dCmLorWONI\n6YgFW7SkYwNAHta4ltmeem37ddOJI5rVRLPax8fHuJkr2dB2vmRf1bL2r1Slo5it5XtOo7G04MlQ\nb6WjGIUULyGUVoNCstEAkI8Gd0qnnbCnkMwy2z2pstNRONtpGNTGl3nbE9GV6JWOY3YKinR8+ecp\nRj3kj42VWuk4RiHFSwiltSCVzfhQjIpkahHOJQCCSeV7fMjAigI01KJKjycf+ZA/Z7Py2XT0gtJR\nzM7q6BSKS0p4urWv0lGMRoqXEEqbzDEO4EsQI+hODGNoSzSOTOMAS2lFGEMZzU6lYxpaLQcbngrz\nYc7WRPR66X1VVJGuhC/+OMmwdn7YW1sqHcdoqs87FcJUOVPMQVb942vxfGPkNIoa3T6AiA+3s/14\nOhENaykdxyz8dOgc2Ve1DGvnp3QUo5KelxDCZPi42tH7AS/mbJPeV0XoSvR8vj2JQW19cbbTKB3H\nqKR4CSFMyvMdAzl4Jos9Jy8pHcXkbYg9z7nsfJ4JD1A6itFJ8RJCmJRA9xr0aFqHudsSlY5i0vR6\nPXO2JtK/pQ/uDtZKxzE6KV5CCJMzNqIeUYkZHDyTpXQUk7UlPo2k9Cs82yFQ6SiKkOIlhDA5jeo4\n0iXYg7lbpff1T/R6PZ9tS+TJUG88nW2VjqMIKV5CCJM0LqIeW46lEXsuR+koJufPhAxiz+XwXDXt\ndYEULyGEiWrm40yH+u58tjVB6SgmRa/XM3tLAr2ae+LrZq90HMVI8RJCmKwJkUFsOnqRYxdylY5i\nMnYnZXLoTBZjI+opHUVRUryEECYr1NeF8Ho1+WyL3Pu6bvaWBB4N8STQvYbSURQlxUsIYdImRAbx\na+x5jl+4rHQUxe1OymRf8iUmRFbvXhdI8RJCmLhW/q60DXDjU7n3xSebT9AzxJN6tRyUjqI4KV5C\nCJM3MTKIX49U796X9LrKk+IlhDB5rQPcaBvgxiebTygdRRF6vZ5Zv0uvqywpXkIIszC5a302xF7g\naGr1e+4rKjGD6NOXmNg5SOkoJkOKlxDCLIT6utKhvjuzfq9e9770ej0f/XaC3g94VfsRhmVJ8RJC\nmI3JXeuzOf4ih6rRnIdb4ktnGZkYKb2usqR4CSHMRoi3Mw839uCDTceVjmIUJSV6PvztOE+19KnW\ns2n8EyleQgizMqVrA3afzGRnYobSUQxuXUwqpzLyGN9Jel03k+IlhDArQR4O9HnAi/c3HqvSqy1r\ni0v4+PcTDGvnR20nG6XjmBwpXkIoaQVe+DGSQIYThUu519rwOPUYThDD2IybQglN0otd6nPs/GV+\nOXJe6SgGs2LfGbLytDzfsfrOHH87lkoHEKJae5f2bGIFh3DmdR5kG+tvvJaPhhMslj8xb+XtYseQ\ntr58sOk4XYNro7GsWh/S5YIiPt2SwJiIejjbaZSOY5Kq1n9xIcxNARoacJX+pJKC+y2v3+43dDrB\nhNGXMPqmpKQYLqOJGhtRj0t5WpbvPa10lEq3YMdJNJYWDGvnp3QUkyXFSwglFaO+8e+6m34fi7Ck\nPkNpRn9iuPUBn+nEEc1qolnt4+Nj8KimxsVew4ROQczekkDO1SKl41Sa1Ox8Fuw4yUsPN8DGSn3n\nA6opKV5CKKEvHQliWLltakrK/RzHMk7wNf05xEuEGzGd2RjSzhdHGyvmbKs6Dy5/sOk49T0c6N3c\nS+koJk2KlxBKWM12ElhCDfKJx56VeFKX9HL7FFz7/XSh8JbCJgCwtlTzn0casmRXMqcy8pSOc98O\nncnip7/O8VqPRlhYqJSOY9JkwIYQSvoPO3iE/qgp4Wt+4jwanqM9a9lMCwZSjBo1JSxjrdJRTVW3\nJrUJ83XlzXVHWTy8ldJx7llJiZ7pPx+le9M6tA6QwaV3IsVLCCUN4BwDWFRu21o2A6WXDcUdqVQq\npj0WTI9Po9gSf5HIRh5KR7on3x88y/GLl/l8UKjSUcyCXDYUQpi9hrUdGdzGlzfWxVFQpFM6zl3L\nvqrlvQ3HGNuxHp7OtkrHMQtSvIQQVcKLXeuTX6Rj7rZEpaPctfc3HsfZ1orRHQKUjmI2pHgJIaoE\nRxsrXn80mC/+SCIx7YrScSrswOlLrNx/hhm9m2BtKUPjK0qKlxCiyugZUoe2gTV5ZU0MJSWmP+9h\nYbGOl9ccoU9zL9rVq6l0HLMixUsIUWWoVCre6dOEuPO5fLPH9GfemLs1keyrWl5/NFjpKGZHipcQ\nokrxdrHj5W4NeX/jMU5nmu6zX7Hncpi3PYk3HmuCi73MX3i3pHgJIaqcwW18eaCuMy+uOozOBC8f\nFhTpeOG7v3ikaR16hNRROo5ZkuIlhKhyLCxUfPBkM05cvMzn201v9OF7G45xuaCIt3o1VjqK2ZLi\nJYSokjydbXm7T1NmbU5gf/IlpePcsOnoBZbuTuajvs1luZP7IMVLCFFlPdbMk35hPkxYcYhLeVql\n43A26ypTv49hbEQ9woNkdOH9kOIlhKjSpvUMxtlOw9jlBynWKTe/cb5Wx7PfHKBhbQcmRgYplqOq\nkOIlhKjSbKzULBgcyrELucz4JV6RDHq9npfXxJB9tYh5T7fAUi1fvfdLPkEhRJXn42rH3IEtWLbn\nNIt3njJ6+x//foLf4y4yf3AobjWsjd5+VSTFSwhRLbSrV5P3nwjhrfVx/HrkvNHaXbbnNPO2JzH3\n6Qdo4uVktHarOlkSRQhRbTwR6k36lUImrDiEpYWKro1rG7S9VdEp/G9tLO89HkKnhua5VIupkp6X\nEKJaea5DIBMigxj77UF+iTFcD2z53tO8siaGN3s1oV9LH4O1U11Jz0sIUe1MiAxCY2nB+BUHuZgb\nzPAH/VBrbvqcAAAgAElEQVSpVJVy7pISPZ9sSWDutkTefbwpT7WsWynnFeVJ8RJCVEvPdQikloM1\nr6w5QmxqDm/3boqt5v6WJMnJL2LyqsPsSspg/qBQOgfLpUJDkcuGQohq6/EW3qx+ri17T16i+6d/\nsvdk5j2fa9uxNLp9soNTGVf4edyDUrgMTIqXEEoqAbrTlZY8ectr79EAf0bSiMGcRNaGN5BmPs78\nOvEhWvm50v/LPYxdfpDEtMsVPj72XA7DFu9j5Nf76dG0DuvHP0S9Wg4GTCxALhsKoaz/EoIHl0nH\n8ZbXvqINh/iaT6jP/whlGVEKJKwWnGyteP/JEPq19GbmxuN0/ngHrf1deTSkDm0D3fB1s8fq2oPF\nhcU6TqbnsSspk3WHU/krJZuIBu6sGx9OY08ZCm8sUryEUNJ7xLAbZybgVW77RTTYoMWZYp7kDEOR\n6ceNINTXlZWj23DkXA7f7U/h8+1JvL72KBYqcLbToNfryc4vQq8HPzc7OjX0YOaTIdT3kJ6WsUnx\nEsIUpWKNNUUAuKPlKja37DOdYNaXFrUUqxTj5qvCVCoVId7OhHg7o9frOZedz5nMq1y6Wjqxb80a\n1vi52VPb6db/JMJ4pHgJoYS+dOQv/JjADsK4db0OTwopoHS9jHQ02FFwyz7TiWM6cQA+/XymGThx\ntaRSqfB2scPbxU7pKOImUryEUMJqtt/499043/K6B1oKsSIbS76nLsEYbz4jIcyAjDYUwpScR0Mv\nOgMwgj00ZyjfEco0DiicTAiTIj0vIZTWlmz28z0AddCyls0AvMJxXuG4ktGEMFVSvISoAlbvXn1e\nFabK+tcdMnCkJrkGDyLtSDuV0c5FXO60iwo90++5ASGEeQijL9GslnaknarSjtzzEkIIYXakeAlR\nHTzKUWlH2qlK7chlQyGEEGZHel5CCCHMjhQvIYQQZkeKlxlyuYTlB1NobqWlcpZ+FVVXLmpC6Yc/\nIxlHmMHbW4gvtrxMtoEew1lNHRowhLqM4r80NUgbAG/RiABG4MNoXuQBg7Vz3fO05EF6G7SNP3DF\nmUkEMYxeRBq0rWk0JoARtOFxQzUhxcvA1vegq17FtIr+kxTACIBsJ14su733j9S+fk7LYlQTZ/Po\ns/Pxr0iGS668MOUD6gN8MIXmZ3wYfbv9HXJRX/BgbMRW3Mpu/3gSDyT78szA5XjFNuZpJ0N9QYnK\nM5NGhJFMAl/xKyHkcn9LBd/OOaxZQnM8STNYG0FcYTsrieMrltPaYO305CzHWMxRFvG9gYt+Blbs\npJ5B2wA4jw0Pc5AElrCWLQZr5wCOLKUNB1nKHn4wVDPy5WNgY+eyY8Z59t28/asR9DwZwMUZr5V/\n7bIDxQCdtrJQoy3942JLJM9qtFjUPfP3zOKnfTn32M80+LkXqde3XayFttCGkvvN/Mp7BANs70i5\nZWV1avQWJVj80oOLb7+KzfTphEz6hIP3254woEN4MowjWKLHjzSicKU76QZpy4tColhLEMMMcn6A\n5pSuEpmNJRboDd7ObpxwJ9tg7QBMojW9iWELQQZtJx0bXMg3aBsAK/GnGzE4l36XGYoULwM77UfB\nab9bZwQvtKYo15GCPW3/+RfjYOjfT6frVei7/E7d7/ozquw+9ZKoe9qXVtd/fnY+Xy8YTfKUD6j/\nwVQGlN33g6kM+GDq3z/rVUy7+TgAKy2q4YsJ/2YwO3v8Qq1RXxLS6+fS6YoKrdFZFWHZ+Cg1Fj7D\nLr9knEKjcTwQZoQn9sW9uYI1jteWVrFFS/o/LK1ijl6gFU8YeL7HDvTkEPX5D+sN1kYyNpykJmOI\nNXjxAlhHC36jCT04zGcG+vxSceQMrvSky7U2fzdEM1K8TJRTNpZOuaX/fVR6+KUHyaMW8gbA2/+l\naaoneXPHcfLfjs92IjdyC4sAtkQy8stRbF3Zn1Nj5hH8yAaa91zHtwB/PsTzZY/7/Hla5zqSN3Um\nf8U2YVBSIBf/9ybB3TbQIOAknh5p1PyjA+MzapJ51pt0x1wSDPcpiPtWg0Kyry2tko8G939YWsXc\nLMeLWLwMPlPEH6zjHNa0ZAQvc9wgN1km0Y5X2GWAM99qPCcZzxdcQU0ThjGROOoZoCemoZiOJPEW\nsXThEb7Dk6f+vkJUWaR4GYG6GFVsEwYPWsZPFe2l/NiHbhHbCb15u3cK1pNm0eO1GawBeHQdtbJc\nKNoZTrl57fQW6K/33vQW6NNqkX8wlNwsFwp0akpuvKYqf+nlqe94SKdGd9mBl671+FYP/ga/Yw25\nkBRI+hNrCHfJYmZlXJ4URtCCVDbjwxOcJ5lahP/D2mHmJIYavEFntrDSoO1kY4kzxbhRhBqdwUYH\nHMWHF6lLEZZk4swkHmAWhwzSVgEW2FBCDXRoKMbaQL/DoVzkMO5A6R9MVoZpR4qXEVgWo2p4HH+X\nrGt/AV9T4wrWLQ7gWHbbKX+uZrlS7J6O06IRbHpmEXvKvv7587SPC+bkx5NJsL+CeuEz9P29C4d3\nhhNVGVmfnc+3Gi3quWMZMHsiv6Z6Ufj+tZnNIzfjNmAFnXr/RO3wKDxDYvD0P0Vt/1N8qbM04P0H\nce8mc4xOPE7QtUtFjuiUjnRfXqAD2TjQ6dpl8VWs4YFr96cq02AiiMebYiwYwu5KP/91J/gaKF3T\nbQodDVa4AN6lEctpSQkWRBCHD4UGaWcMJ+lEY4IYhgdZPM4FQzQjxUtBPdfTrud62pXd9tZrrPnf\nW8S6ZeKY7EdO2dfGziEgYhsPLBrJlm8H0L7ZYerqVehHL7j1soOqBFXjWGpc/3fXS9g0jqWGUw7W\nFiVY3HjtppKzthcX/mrOkF3tOPLqOxzxTsH65fdp2vQIdYIS8FKXoFowmgGn/DkX34jUtb2Ir+zP\nRVQiZ4o5yCqjtpnAEoOdeyu/GOzcZRnoPs2/aks2O/nJoG28wVHeMML0UBbAdtYZuhkpXgpa0Z9t\nA1ew459ec87G6a3/0e+t/5X+3GkLcz6cwlM2hWjGz+HRK/bk2V3FdujXLM63u7Vb7pyDY2xTJl//\n+T/v0ec/7/39etnXrrPSotrRnid8UqiT6klmhhsTdrclvu4ZasY3IvXHPsS/MY3HPhvPb+/8l7iD\nLXj6WEMypNclhDA2KV4myvc0H6n0qDxTsT7UghcvuaL9cArrMmpSEBNC1ooB9P+pN3scc7Ga9DH1\nZr1IYtnjs1zIqZPKpwDnPZnw/lQ2fPICCe/8l2Z9V9MyKIGFAJluTLl+jEUJKpcsHA434/iJ+qS9\n9Tq7Nncho+x5+68kOWIb9SK3EFQzA5cvR5FkjM9DCCHKkoeUTVR6LYrSPNAWWZX2avLs0b0+g9j1\nj3Lu66E8ccqf80O/JqpeIs5TZ9L1n85RaEPJ9YEVOjX6QhtKSq49G1P2tbL7B5xiUet9rHljGofC\nonH77KZZGdb1JO7BXTRrfJSA/itZbpsv/w8JIYxPvnhMnHt66SCPdHe0XTdRc08bnrlQm0sdt/OT\nRotFVDjnXbJwHvcZAffblv9JbP8Mp9f52ow57cvLUz7kYY+00ntjtc+jWTiSNq++zWN6FexoT8yW\nzmTua8XoEYuoe79tCyHE3ZDLhgbkkIs6KAF7q6LSOQj9krFvcQAtgEaL5T+NNgQ43oA8lywsw6Jx\nidiG11Vb8lvvxXldT0br1Og0WiyTAhlVK42aljos09zJeHo5zeeM//u5L5csnMo+iHy7h5SvOxVA\nfr4t2u+fZN/aXiRfv2S4aARtn15OhE6NblU//vy9C6cXD2fYj70pcczFcUf78pcWhRDC0KR4GdCA\nlfjMf5ah13/+cnT5aXOC4wm8ebQhwPCvWLyrHRlfjaC/3VVsf+zDztgmXFbrUGuKsGpwHP8zdUld\n2Z8/vniO2HNeFMQ3YqJ7GlbptUpnU8hx5HK3jXx1p4xbInm27M9df2fDzftsepjTlx3Y+NbrHMms\nWXp+nxS+f/Vtem6JZH9iEFcr/KEIIUQlkMUozUjkZtwyaqKNCeGy/qYLvsFHsT9fh8IsV8POJyaE\nEKZAipcQQgizIwM2hBBCmB2j3fNqEdpiWmBgoLGaE8KgVu9efZ4UFiidQ4jqymjFKzAwkFWrjDtL\njRCGogpTZd15LyGEochlQyGEEGan4sVrIb7Y8jJll35PxJZGDMaPkbxHA0MEFEIIIW5WseJ1DmuW\n0BxP0sptn04ow9lLNEtZwIOGCGhK9HqZf1YIIUxBxe55eVFIFGsJKv+QLfF4Mp0D1KQIG7SkYcW1\nh2TNmV6vJ+ZsDlviL7Iv+RKJaXnk5GvRlehxtbfGz82OUD8XujTyINTXBZVKpXRkIYSoVu5vwEYe\n1rheK1a2aEnFplzxmk4w62kMkGKVcl9NGUNJiZ61h8/x5Y5TxJ3PpamXE+3qudEvzAe3GtaoVSoy\n8wpJuHiFvacyWbDjJL6udjzbIZAnWnijsZRbiEIIYQz3V7zsKSQTDa4Uk48GTwrKvT6dOKYTB+DT\nz+eWufRMycEzWbz2YywnM64wsJUvnw9qga+b/W2PSc3OZ8W+M7zzSzzz/0hiRu+mhAfVNFLi8vLy\n8khPT0enM++Fck2Fra0tderUkV61ECbq/opXMKl8jw+jOEkBGnO8ZFisK2HW5hN8vj2Jx5p58tWw\nltR2sqnQsZ7Otkzu2oBnwgP44LdjDP5qLwNb1eX1R4OxsVIbOPnf8vLyuHjxIt7e3mg0GqO1W1Xp\n9XouXLhAVlYWrq6uSscRQvyDe7vONYhwonFkGgdYSivCGMpodlZyNoO7lKdl8KJ9fLv3DF8MCuWT\n/g9UuHCV5WRnxYzeTVkxqg2b4y/y+LxdpGbnGyDxP0tPT5fCVYlUKhW1atUiOztb6ShCiH9xdz2v\nBJYAsIyoG9vi+aYyAxlLyqWrDFq0FzuNJT+PC8fH1e6+z9kmwI1fJzzE88sO0mfeTr4a1pLGnk6V\nkPb2dDqdFK5KplarZXSpECasWo4wSEy7wpNf7MLbxZbvn2tbKYXrOrca1iwd2YqWfq4MWLCHmLPy\n17sQQlS2ale8Tmfm8fTCPTT1cmLR0JbYW1f+DFk2Vmpm93+ALsG1eXrhXmLP5VR6G0IIUZ1Vq+KV\nllvA0wv3Ut/DgblPtzDooAq1hYqZT4bQuZEHwxbvIzkjz2BtCSFEdVNtitdVbTHPLI3GrYY1CwaH\nYW1p+NGA1wtYEy8nhny1j0t5WoO3KYQQ1UG1KF4lJXpe/O4wl/K0LBwShq3GeMPYrdQWzHu6BfbW\nljy/7ABFuhKjtW2unnrqKd5+++27Ombnzp00a9aMkpKKfb49e/ZkyZIl95BOCGEKqkXx+vyPJHYk\npLNoaEvcHayN3r6dxpIvh4SSmHaFt9bHGb19c/Pdd9/x6quv3tUx48eP54033sDComL/S8+YMYOX\nX36Z/HzjPdIghKg8Vb54RSVk8NFvx5n5ZAgNajsolsPbxY65T7dg+d4zrDucqliOqmjbtm1cuHCB\nnj17VviYZs2a4evry7JlywyYTAhhKFW6eGVcKWTSqr8Y2s6PR0M8lY5DmwA3XuxSn1fWxHCqmg/g\nuHz5MmPGjMHb25saNWrg5eXFRx99xMGDB9FoNBQWFgKwb98+bGxsWLZsGSEhIdjb29OuXTvOnz9/\n41xr1qwhMjIStfrvy8FLly7Fzc2NrKzSNSMzMjJo2rQpU6dOvbFPt27d+OGHH4z0joUQlcloKykb\nm16vZ8rqw7jXsOaVRxoqHeeG5zsEsudkJi989xffP9cWK3Xl//1QrCvhfE7BnXesRHWcbLC8i/cy\nceJEtFotsbGxODs7c+bMGXJzc9m5cychISFYW5de3o2Ojkan03H06FGioqJQqVS0b9+eBQsWMG3a\ntBv79OnTp9z5Bw8ezJw5c5gxYwavvfYaXbp0oXPnzsycOfPGPiEhIcybN68S3r0QwtiqbPFavvcM\ne05m8suEh4wysrCiLCxUfNi3GQ9/soPPtiTwYtfKX8PzfE4BD83cVunnvZ0/p0bc1cPex48fx9/f\nn4KC0iJbt25dAD755BPCwsJu7BcdHU3Hjh159913b2zz9fUtN/vFpUuXcHIqP5OJSqVi9uzZRERE\nsHXrVtq1a8esWbPK7ePk5HSjZyaEMC9VsnidzszjnV/jeaVbQwLdaygd5xYejja826cp41YconOw\nByHezpV6/jpONvw5NaJSz1mRNu/GwoULefPNN2nSpAkBAQGMGzeOIUOGEB0dzfjx42/sFx0dzdix\nY8sd+9dffzFkyJAbP7u6upKTc+uD4AEBATg4OHD16lXmzJlzy+s5OTm4uLjcVW4hhGmocsWrpETP\nS9/H0MzbmSFt/ZSO868eaVqHR46c56XVMawbH16pa4FZqi0qdcorQ2jUqBErVqxAp9OxePFihg4d\nSpcuXTh69OiNnld+fj5xcXG0atXqxnFpaWmcPn2ali1b3tgWGhrK0aNHy50/IyODyMhI+vXrx9Kl\nS9m0aRPdunUrt8+RI0fK9fKEEOajyg3YWLk/hZiz2bz/RAgWFqa9FtMbjzUm40ohc7clKh3FqH78\n8UcOHz5McXExWq2WlJQUgoKCSE5OxsrKisaNGwNw6NAhrKysaNq06Y1j9+3bR+3atfHx8bmx7fHH\nH2fLli031jLLysqic+fOdO3alblz5/LSSy8xadIkiorKr9izcePGW+6VCSHMQ5UqXmm5Bby7IZ7J\nXRpQ1820ex5QOonv/3oG8/n2JBLTrigdx2j27dtHr169cHR0xN/fn/j4eDZu3Mj+/ftp3rw5lpal\nFwSio6N54IEHbvwMsH///nK9LoDIyEhq1arFunXryMnJoWvXrrRr146PP/4YgClTppCbm1vu0mFM\nTAynTp1i8ODBRnjHQojKpkLPdGM01Ldf32mrVq0yaBvjVxziVMYVfhrz4F2NfFOSXq9nyFf70BaX\nsHJ0m3tauTcpKYnAwEADpDMfUVFRjB07lkOHDlXoQeXHHnuMPn36MHz48H/d53afqypMFUc0q+85\nsBDivpjHN3wF7EzMYH1MKjN6NzWbwgWlo+Jm9G7CXynZ/HjonNJxzFZ4eDiHDx+u8AwbP//8820L\nlxDCtJnPt/xtaItLeH1tLANa1aW5T+WO3DMGXzd7nusQyLsbjnG5oOjOBwghRDVXJYrX17uSybyi\n5SUDPDNlLM93DMTa0oLZmxOUjiKEECbP7ItX+uVCPt2SwOSu9XGx1ygd557ZWKl5rUcwS3YlczK9\n+gzeEEKIe1Gx4pWLmlD64c9IxvH3gzFzCMCd8QQxjFG0NlTI2/not+N4OtsysFVdJZqvVA839iDM\nz4V3fo1XOooQQpi0ihWvmTQijGQS+IpfCSGX0vmWMrBhBDtIYAlfsteQQf/JsQu5rIpO4bVHG5nV\nII1/o1KpeP3RYLYcS2NnYkaFj1Or1Wi1stBlZdLpdPc08lMIYRwV+8Y/hCedScESPX6kEYUrAFnY\nUBPFFkR659djtK/vzkNB7kpFqHSNPZ3oG+rN27/EU1Kiv/MBgLu7O2fPnpUCVkn0ej1paWk4O5vf\n4B8hqouKTQ91BWscKR0GZ4uWdEonsrNAzxza8znhPMMu/suxcsdNJ5j1NAZIsUqpzNz8mZBOVEI6\nGya2r9TzmoIXuzSg44fbWHv4HH0e8L7j/vb29nh4eJCamnpjlglxf2xtbWXeQyFMWMWKVw0KyaZ0\nNEQ+GtwpnQp8FoeYxSHOo6EFI3mFY+X6ctOJYzpxAD79fKZVVuiSEj3vbThG31AfRReYNJTaTjaM\nDPfnw00neKRJHWys7jwrvr29Pfb29kZIJ4QQyqvYZcMWpLIZH4pRkUwtwrkEQMG1410oRkOxscYu\nrotJJTHtCi90CTJOgwp4rkMgV7XFLNtzWukoQghhcipWbiZzjAP4EsQIuhPDGNoSjSPjaUk9hhHM\nMIaw28BZgdIHkj/67QTDHvSjjpOtMZpUhIONFWMj6jF3W6I8uCyEEDep2GVDZ4o5yK0TE4axF4w7\nynBVdApZeVqe71D15/Ib1MaXRVGnWPjnKSZ1qa90HCGEMBlmNb68oEjHZ1sTGN0+AGc7830guaJs\nrNRMjAxi4Z8nuZQnIwmFEOI6sype3+w+TZFOz/Bwf6WjGM0Tod64O1gzf0eS0lGEEMJkmE3xyiss\n5os/kni+QyA1rKvcAtD/ykptwcTOQXy9K5m0ywVKxxFCCJNgNsVr6e7TqFQqBrXxVTqK0T3WzAtv\nFzs+3y69LyGEADMpXlcKi1mwI4kxHQOx1dz5maeqRm2hYmJkEN/uPUNarvS+hBDCLIrX17uSsVJb\nMLC1+U++e696NK2Dr5sd86T3JYQQpl+8rhQWs/DPkzzfMbBCM01UVRYWKiZG1ufbfWe4KL0vIUQ1\nZ/LFa+nu0l7XgCqw5Mn9eqRJbfzc7PjiD+l9CSGqN5MuXnmFxXy54yTPdajeva7rLCxUjO907d6X\njDwUQlRjJl28lu89jdqiet/ruln3pnXwcbVjwR8nlY4ihBCKMdnila/VsWDHSUa395deVxlqCxXj\nO9Vj+d4zZF4pVDqOEEIowmSL14p9ZyjRw9Otq99zXXfSo2kdPBytWRh1SukoQgihCJMsXoXFOubv\nSGJkuD/21Wg2jYqyVFswpmM9lu5KJvuqzHkohKh+TLJ4rTlwjnytjiFtpdf1b/q08MLZTsPinclK\nRxFCCKMzueJVpCvh8z8SGfagPw42VkrHMVlWague6xDAkl3JXCksVjqOEEIYlckVr5//SiXzipbh\n7fyUjmLy+ob5oLG0kNWWhRDVjkkVr5ISPfO2JzKojS8u9lV/va77ZWOlZvRDASz88yQFRTql4wgh\nhNGYVPHadPQCKVn5PFON1uu6XwNb16W4RM+q6BSlowghhNGYTPHS6/XM3Z5IvzBvajnaKB3HbNhb\nWzK8nT/z/zhJka5E6ThCCGEUFSteuagJpR/+jGQcYTe2J2JLIwbjx0jeo8H9BPnjRDrx5y/zbPvA\n+zlNtTSsnR/ZV7X8dOic0lGEEMIoKla8ZtKIMJJJ4Ct+JYRcSqe8mE4ow9lLNEtZwIP3E2TetiR6\nN/fCx9Xufk5TLTnZWTGorS+fb09CV6JXOo4QQhhcxYrXITzpTAqW6PEjjShcAYjHk8dJoSZF2KAl\njXsa277v1CX2n77E8x0D7uVwAYwM9+dsdj6bjl5QOorZW7nvDAkXLysdQwhxGxUrXlewxpEiAGzR\nkk7pTak8rHEtsz2V8jerphNMGH0Jo29Kyr8PKEjOyKPPA17Uq+VwL+9BALUcbOjf0oe52xLR66X3\nda8u5BTw+tpYTmXkKR1FCHEbFSteNSgkm9Kx6/locKd0PQ57Cskss92T8ut0TCeOaFYTzWofH59/\nPX2/lj583K/5veQXZYxuH8DxC5fZfjxd6Shma8GOkwTUrEHnRh5KRxFC3EbFilcLUtmMD8WoSKYW\n4VwCIJhUvseHDKwoQEOta70woQhvFzt6P+DFvO2JSkcxS5lXClmx7wxjIgKxsFApHUcIcRsVK16T\nOcYBfAliBN2JYQxticaRaRxgKa0IYyij2WngrKICnu8YSPTpLPaezFQ6itlZvDMZdwdrejSto3QU\nIcQdVGzKdmeKOciqf3wtnm8qM5C4P4HuNejepA5ztyfROsBN6ThmI7egiK93J/OfRxphqTaZxx+F\nEP9CfkuroDERgew4kU7M2Wylo5iNb3afxl5jyROhXkpHEUJUgBSvKqixpxMRDdyZs1XufVVEvlbH\nV1GnGNU+AGtLWbVbCHMgxauKGtepHr/FXeT4BXle6U5W7DuDHhjQ6t9HxAohTIsUryoq1NeVNgGu\nzN0mva/bKbtqt51GVu0WwlxI8arCxncKYn1MqjxwexvfHzgrq3YLYYakeFVh7QLdaO7jzDzpff2j\nIl0Jn29PYlg7P1m1WwgzI8WrClOpVIzvFMSPh86Rcumq0nFMzk+HzpGVp2WErB8nhNmR4lXFdWzg\nTqM6jnz+R5LSUUxKsa6EeduTGNzWD2c7WbVbCHMjxauKU6lUTIgMYnV0Cuey85WOYzLWx5znfE4+\nzzwkvS4hzJEUr2qgc6Na1KvlwBfbpfcFoCvR8+nWBAa19qVmDWul4wgh7oEUr2pApVIxMbIe3+1P\n4XyO9L7Wx6SSmp3Psx1k1W4hzJUUr2qia3BtAtzt+bya9750JXo+3VLa63J3kF6XEOZKilc1YWGh\n4oXOQazcl0JqNb73tT4mlXPZ+YzuIKt2C2HOpHhVI12DaxNYq0a1Xe+rWFfC7M0JDGnrRy0Hmzsf\nIIQwWVK8qhELCxWTOgfx3f6Uavnc18+HU7mQW8Cz7aXXJYS5k+JVzXQJ9qBRHUc+25qgdBSjKtKV\nMHtLaa/LTUYYCmH2pHhVMyqVihe71GfNwXOcTL+idByjWR19lktXtDwn97qEqBKkeFVDHeq706Ku\nM7M2V4/eV0GRjk+3JDCqfYDMpiFEFSHFqxpSqVRM7daQdYdTiT2Xo3Qcg/tm92kKi3Uyh6EQVYgU\nr2qqpZ8rEQ3c+WDTcaWjGFRuQRFztycyrlMQNaxlvS4hqoo7F68VeOHHSAIZThQu5V5rw+PUYzhB\nDGMzboYKKQzjpYcbsiMhnV1JGUpHMZj5fyRhr7FkUJu6SkcRQlSiOxevd2nPJlbwNpt4nQfLvZaP\nhhMsJoEldCbTUCGFYQR7OtLnAS/e23CMkhK90nEq3YWcAhZFnWJy1/pYW6qVjiOEqER3Ll4FaGjA\nVfqTSgrud3WG6QQTRl/C6JuSknIfMYWhTO7agGMXLrP+yHmlo1S6j347TkDNGvRq7qV0FCFEJbtz\n8Srm7z9ZdTftX4Ql9RlKM/oTQ41bjp1OHNGsJprVPj4+959WVDovZ1uGP+jHzI3HKCjSKR2n0sSl\n5vL9wbO82qMRaguV0nGEEJXs34tXXzoSxLBy29SUlPs5jmWc4Gv6c4iXCDdEQGF4YyPqka/V8dXO\nU5eGbgEAAAj8SURBVEpHqRR6vZ63f42jY313HqxXU+k4QggD+PfitZrtJLCEGuQTjz0r8aQu6eX2\nKbh2vAuFtxQ2YTYcbax4sWt95m5NJO1ygdJx7ttvcRfZe/ISr/YIVjqKEMJA7nzZ8D/s4BH68yoP\n8yY7OY+GXnQGoAUDqc9QZvMQb7HH0GGF4TwV5oOPqx3vbzDvofMFRTre/iWeoe38qFfr1ivZQoiq\n4c4PvgzgHANYVG7bWjYDpZcNRZVgqbbgjcf+396dB1V53WEc/15kVURwB4IElCBuRUFBzeIWdxur\nJkYnLtUmNqmx0aSVkjGa8Y+YThKtmslmrZroxC3WZZI2xrjELaOiIqgQZKwoLhBFRYXrhds/UKcW\nCKAcXq4+n78c4b7Pj9GZh/ve857Tluc/28vouBbEhAZU/KJaaNEPmeQXOpjSO8LqUUTEID2kLHfE\nhTfi178K4q31KRS54NL5rIvXWfB9BgkDWtPAx8PqcUTEIJWX3CVxYBT/+fk6y/actHqUKnt7Yyrt\ngxswotMjVo8iIoapvOQuzfy8+VO/SN77dxpnL7vOicv/SjnL1rQcZg9th5uWxos88FReUsoL8aG0\naurLjH+m4nTW/tuHl2/cZMb6VCY9GU5UoJ/V44hIDVB5SSl13Gy8O6ID29MvsOFwttXjVOidr4/h\n6+WuRRoiDxGVl5SpdXM/JveMYNaGVHKuFlo9Trm2Hr/Ayv1ZvDu8A94e2r9Q5GGh8pJyvdyjJUH+\nPiSsTa6Vtw/zrtuZvjaZid3D6BLW0OpxRKQGqbykXJ7ubswbGc3OjFyW/3jK6nHu4nQ6mb42GT8f\nD97oF2n1OCJSw1Re8osimtUncWAUszcd5fi5K1aPc8fyH0+xNS2HhaM76nahyENI5SUVGts1lJ6R\nTXlleRL5hQ6rxyHlzGVmbzrKjEFRtG6u1YUiDyOVl1TIZitZfegocvLnNYct/fzr0jU7kz4/QL+2\nzXkhPtSyOUTEWiovqZQGPh58MiaGbWk5zN+SYckMdkcxf1iRRH1vd+YMb4/NpoeRRR5WKi+ptKhA\nP+aNjOZvW9JZf+hMjWY7nU7eXHeE9PNX+WxsLHU9K95TWkQeXCovqZK+bZvz5qA2vL7qMNvTcyp+\nQTV5/9t0NhzOZtG4zoQ0rFtjuSJSO6m8pMomPh7G754IZ9Ln+9mdkWs878OtGXyy4wQfj4khOsTf\neJ6I1H4qL7kn0/tHMrpLKBOW7mOHoXdgTqeT979NY+7mdBaM6kjPyKZGckTE9ai85J7YbDZmDI5i\nfLcwJizZx6p9WdV6fbujmMR1R/h0Ryafjo2hf7vAar2+iLg2feot98xms5EwoDXBAT78Zd0RUrIv\nkzgw6r4fGj53uYDJK5I4+fN1VrwYR0yotn4SkbvpnZfctzHxoXwxMY5vUs4x9MNdHDx16Z6u43Q6\n+SrpNH3nbsdR7GTD5O4qLhEpU8XlVQwMpC+dGVHqa3OIJIyJRDGGTHwMzCcuomvLRnzzxyd4rFl9\nhn20m2krD5GZk1+p1zqdTnZl5DLso90krD3CS0+Gs+b3XQny138pESlbxbcNE+lAM66SQ+l9eBYT\nz0GWMo/HeIsYvmCniSHFNTT29WL+qI6M7BzCB5vT6f3BduLDGjGoQyBdwhoS1rgeHnVKfl+6Vugg\n7fxVfkjPZVNyNidy8hncIYj5z3fUUngRqVDF5TWHZPbgzxSC7/r783jijR1/HIzgFONoa2pIcS3d\nWzWmW8tGJJ3KY23SaRZ+n8G5KwUA+Hm7U1Ts5Jq9CCh58HlAu+aM7NKCYL3TEpFKuvcFG9l44cVN\nAJpg5zrepb5nFm3YVFJqWR7VuxpNajebzUZMaAAxoQHwG8jOu0HWxetcvGbHo44bAfU8adXUlwY+\nHlaPKiIuqPzyepYeHOJRprCDWC6W+noQhRTgCUAOntSloNT3zOIoszgKEPJcyMzqGlpcT5C/jz7D\nEpFqU355rWbbnT/vofS2Bs2wU4gHebizhha04ayJAUVERP5f1ZfKn8WTZ+gDwAT2Es04VhLDTA5U\n93AiIiJlqdxnXl3JYx9rAAjEznq+AyCBNBJIMzadiIhIGWpsh43Ve1aftcXayn96NRc/GmP+nHnl\nKKc6cs4TUI3TiEgV2XAyy+ohAIjlWfazWjnKeaByRMQIbQ8lIiIup/aU12BSlaOcBy5HRIyoPbcN\nRUREKqn2vPMSERGpJJWXiIi4HOvL6wp1iOE5wpjIZGKN5y0iFB+mk2foMYHVBBLJWFrwIom0N5IB\nMJsowplACC8xjY7Gcm57mc50Z6jRjO00xJ+pRDCeZ+htNGsmbQlnAvEMM5ojIkZYX15/JYpYTvIT\ni/maDlzh/o7h/SVn8GIJ0QRxwVhGBPls40uOspjlxBnLGcJpjvMPUvk7awyXfi4e7KKV0QyAs3jT\njyR+Ygnr2WIs5wB+LCOeJJaxl6+M5YiIMdaX10GC6EMW7jh5lAvsxNzRucEUspP1uOE0lhHNVQKx\n48BmPMcTJwdpQBPyjOUATCWOoSQbzQDIwZsAbhjP+ZIw+pOMPw7jWSJihPXllY8XfreOVvHBTk4Z\nR6u4otfownDD+z0+xRCG8FtGGCyWk3iTSWMGcMZYxv/aSCfCmcCrxBjLyMaPFIIYwtMM4WljOSJi\njPXl5UshebeOVrmBJ03KOFrF1SwnmBSCeY9DRnO2s5FjLGQBvSg2lDGVbiSw29DV7/YqmZzhY5JZ\nykaiycDMGSqeOOjBCTaymQLcWUmQkRwRMcb68upENt8RggMbJ2nK42WcHeZKkvHlbfqwjg1Gc24v\nOGnETepQZOxfMpUQpjGQUYwgmVZMNbg4pODWT+FLEZ448DJUyTGc5xz1gJJfmDyMVb+IGFJjG/OW\n63WO04thRNCOQRzGjyKrR7ovr/EUedSnF6MAWMVaOnK12nPG0JNjPIIDN8ayp9qvf1s6S4GSM93e\noAdzOWgs6x2iWE5ninGjJ0cJodBIzitk0ou2RDCeZlxiGOeM5IiIMdphQ0REXI71tw1FRESqSOUl\nIiIuR+UlIiIuR+UlIiIuR+UlIiIuR+UlIiIu57/sWABdBavy5QAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa828863438>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "'1，折线图—————面向对象绘图示范'\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "#设置图片大小和像素\n",
    "myfig = plt.figure(2,figsize=(6,4),dpi=60) \n",
    "#使用图像坐标添加子图相对位置\n",
    "ax1 = myfig.add_axes([0,0.3,0.5,0.5]) \n",
    "# [x坐标起点，y坐标起点，x图宽，y图宽]\n",
    "ax2 = myfig.add_axes([0.6,0.9,0.5,0.5]) \n",
    "x = np.linspace(0,2*np.pi,100,endpoint=True)\n",
    "y = np.sin(x)\n",
    "ax1.plot(x,np.sin(x),label='$sin(x)$')\n",
    "ax1.set_title('正弦曲线',color='red',fontsize =18)\n",
    "ax1.legend(loc='best',fontsize=16)\n",
    "ax2.plot(x,np.cos(x),label='$cos(x)$')\n",
    "ax2.set_title('余弦曲线',color='red',fontsize =18)\n",
    "ax2.legend(loc='best',fontsize=16)\n",
    "myfig.set_facecolor([0,1,0,0.5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEYCAYAAABfgk2GAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGXxJREFUeJzt3XuUVeWd5vHvU4AgApZCxVtRgrFxIYiRlFByNagTwURX\njE6ryXgbw9gdo8Z0WhOXqI2xzTgd4wVDmHSLPUaX5jbthaQTFVFABAzoxAgjCI5EUKylppGbBb/5\n4xzKslKXQ9XZ51TxPp+1auWcvd+z3985Vh7ees/e71ZEYGZm+76KchdgZmal4cA3M0uEA9/MLBEO\nfDOzRDjwzcwS4cA3M0uEA9+sCCRdLOnxctdh1hYHvplZIhz4ZmaJcOBbUiRdIun/SdohKSS9L+kZ\nSedKelnSL/Lt5kj6k6R3JP1PScpvP1rS8/nXhaTdks7OH76PpEckbZQ0X9LBZXujZi1w4FsyJA0E\n7gGmAIOBTcBR+d03AKdFxJfzz+8DhgIjgHOByfnt3wd+GxGVwIPAFRHxy/y+U4BZwOH5Y0/P9A2Z\n7SUHvqXkr4APImJNRLwDrAeOzu97MCLe3tMwIp6PiJ0RsRn4A1CT3zUCWJR//CwwssnxV0XEgsgt\nUPVUk2ObdQkOfEvJG8BBkobmp1tqgLX5fZv2NJLUS9IsSeslvQ2M4eP/r6wBxuYf15H7x2CPd5o8\nbgB6ZvAezDrMv5CWjIjYKOlGYDG5oL8qIurz0/NNfZXcFM6YiHhH0uIm+64GFks6E1gK/KRpF9lV\nb9Z5DnxLzd+SC/I322jTn9yIf7OkkcDxTfZ9Fbg7ImZmWKNZJjylY8nIn2nzR+CP+TNpXpL0+Raa\nPsTHoX8z8L+a7FsN3CBpk6R1ku7IvHCzIpFvgGKpkHQrsAP4HrAb+Dxwa0ScUODrRwL/AkzNTwVV\nkpvWOTciXsqobLOi8QjfUnIs8H5ENAACjgPebvsln3A0sAvYkn9+BHAwsLmYRZplxSN8S4akE4E5\nwGHkgnsFcGVEvF7g63uTOz9/Crm/EN4FbouIB7Op2Ky4HPhmZonwlI6ZWSK61GmZgwYNiiFDhpS7\nDDOzbuXFF198NyKq2mvXpQJ/yJAhLF++vNxlmJl1K5LeKKSdp3TMzBLhwDczS4QD38wsEV1qDt/M\nuoePPvqIDRs2sH379nKXkpQ+ffpQXV1Nr169OvR6B76Z7bUNGzbQv39/hgwZQgurjVoGIoL6+no2\nbNjA0KFDO3QMT+mY2V7bvn07AwcOdNiXkCQGDhzYqb+qMg185cyRtEjSQknHZdmfmZWOw770OvuZ\nZz3CHw9UR8R44NvAjIz7MzOzVmQ9h/9n4FBJPcktWPXnjPszszIYct0TRT3e+tvOaLdNz549qaur\nA+CEE07g7rvvLmoNrbnpppuorKzk6quvLkl/xZRp4EfEy5J+AywDdgJnNm8jaTowHaCmpqb57m5B\nN2f/p23c6EXurPjB2pJCwrYr6NevHwsXLix3Gd1K1nP4g4CpwB3A+8CpzdtExJyIqI2I2qqqdpeC\nMDNr0VtvvcUxxxzD1q1bWblyJbW1tezevZvZs2czceJERo0axU9+krsF8dy5c7n00ks5/fTTGTly\nJA8//DBnnHEGxx57LPfff39jm0suuYRp06YxatQonn322b/oc968eUycOJExY8bw+OOPt7h/7Nix\n1NXVNfa9fv16Pve5z3HeeecxevRorr/++sb2M2fOZPLkyUyePJk1a9YU/TPKekrnK8C/R8S/SnoE\n+APw04z7NLMEbNmyhZNPPhmAc845hyuuuIJLLrmEH/7whyxYsIA777yTiooKLrvsMi6//HLq6+up\nra3lsssuA2DlypUsW7aMxx9/nAsvvJA33niDDz74gNNOO42LLroIgFdeeYUlS5awevVqLrjgAlas\nWNHY//bt25k5cybPPfccW7duZfTo0XzhC19o3L9t2zauuuoqli5dSv/+/Rk3bhxTpkyhoqKCRYsW\nsXbtWg4//HCGDRvGd7/7XV599VXWrl3LggULeOqpp7jhhht46KGHivqZZR34HwJ984/7kru9nJlZ\np/Xr149nnnnmE9uuueYaRo8ezfHHH8/48eMB+NnPfsasWbPo0aMH7733XmPbMWPG0KNHD4488khG\njBhBZWUllZWVbN788Q3MamtrqaioYPjw4WzatImGhobGfatWreK1117j1FM/nrj48MMPOeCAAwBY\nvXo1Q4YM4aCDDgJg8uTJLFy4kEmTJjF06FAGDx4MwODBg3n33XdZuHAhCxcu5OSTT6ahoaHxdcWU\ndeD/FJgqaRG56aNvZNyfmSVs27ZtVFRU8P777zc+v+qqq3jllVc46KCDGDRoUGPbPn36ND7eb7/9\nGh83vSnUrl27Wty+x6hRo3j66acLqi0i2L17NwD777//X+wDuPDCC5kxI7uTGTOdw4+IbRHx5YgY\n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\nTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa8286317b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "'2,条形图'\n",
    "import numpy as np;import pandas as pd \n",
    "plt.bar([1,3,5,7,9],[5,2,7,8,2], label=\"Example one\")\n",
    "plt.bar([2,4,6,8,10],[8,6,2,5,6], label=\"Example two\", color='g')\n",
    "plt.xlabel('bar number');plt.ylabel('bar height')\n",
    "plt.title('gragh')\n",
    "plt.legend();"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa8283df208>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "'3,分布柱状图'\n",
    "population_ages = [22,55,62,45,21,22,34,42,42,4,99,102,110,\n",
    "    120,121,122,130,111,115,112,80,75,65,54,44,43,42,48]\n",
    "bins = [0,10,20,30,40,50,60,70,80,90,100,110,120,130]\n",
    "plt.hist(population_ages, bins, histtype='bar', rwidth=0.8)\n",
    "plt.xlabel('x');plt.ylabel('y')\n",
    "plt.title('Interesting Graph');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nSUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa8280d5be0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "'4,散点图'\n",
    "x = [1,2,3,4,5,6,7,8]\n",
    "y = [5,2,4,2,1,4,5,2]\n",
    "\n",
    "plt.scatter(x,y, label='skitscat', color='b', s=25)\n",
    "\n",
    "plt.xlabel('x');plt.ylabel('y')\n",
    "plt.title('Interesting Graph\\nCheck it out')\n",
    "plt.grid()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWsAAAD7CAYAAACsV7WPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd8lfX5//HXlckIO+yNCjJFZR5FmQ7UOHFi1dpaa617\n1lmrP2vdttpha9F+3ZuqBGdcCeKoCoogEDZkkkV2zvX743NHAgSSQJL73Mn19HEeOTm5z32uE8k7\nn1z35/7coqoYY4yJbFF+F2CMMaZuFtbGGBMAFtbGGBMAFtbGGBMAFtbGGBMAFtbGGBMAFtbGNBMR\nGSQiRX7XYYLJwtr8RETOE5FMEckXkRvrsf14ERnU9JXt+loi8o6I9G/E/XcXkcdFZJOIZIvIOhG5\npLH2b8y+srA2P1HVJ4HHgFdV9e56POVqYFCTFrWb11LVWaq6vjF2LCLtgBSgChipqonAkcA7jbF/\nYxqDhbXZIxFZIyK/FJFlIrJFRH7uPX4LcDLwioh85T22v4h8LCKbReR5EUnwHr9dRG4UkTdEZIOI\nRItIDxF509vn2yLSy9t2rIh85T3+nYgctJvXWiMiU/dUo/e12SKyUkSKRURFpFxEuu/0Ns8HyoFf\nq+pWAFVNV9UfvX1MFZFXReROEckQkUkicpiIfO39JfK9iIS8bQeJyAoRuUFE0kVkqYgcutP39Bav\n5uUiMq4R/3eZFszC2tTHqcBBwAzgQRGJUdU/AGnAKap6iLfdM8DfgD5ABXB9jX1cD9ylqv1UtQp4\nFEhV1V7A58C93na3Ag97j58I/Lib16qzRhER4Engl0B34EfgYFXN2um5U4H5uue1F44CtqpqT1Vd\nBKwCzlDVHsCrwP+rse0BQKmqDgb+BPyfiFT/rLUHRFUHAQ8Cd+7hNY35iYW1qY9/q2q5qn4HFAK9\ndt5ARAYAI4BnvNB7HphVY5NFqprmbRsNnAT8w/vaczW23QTMFZHBqrpSVYv3ocaeQCLwqapuA74E\nRtby3K7e61a/l1UikiUi3+203UPVd1R1i6ou9z79ABiw07ZPeh+fBgayY7vo797Hd4H96/f2TGtn\nYW3qI7PG/UogppZtegNtgc0isgV4Akio8fUtNe4nevtY4m37Lm7ECa43vQj4n4g8JCK1vVZ9a8wF\ntgITRaQNbuT9fS3PzfNqAkBV9wPm1KgJIMv7iwD4qTWSJiIZwAvs+rNU4O2ryquhRy217u57acwu\nLKxNfeyuPVDz8QygUFV7ebfuqjpqN8/LwR3MG+5t21NVOwCoapmq3gIcCEwGzqujht3WqKrlwMXA\na7jR76OqurSW56YBM+vY/86eBJ7C/ZI6s5avdwPwftl0pcYvkzraLcbUysLa7ItcYKDXG14LrBKR\nCwBEJF5Ehtb2JFWtBOYDl4sTIyIjvOcd7gVcJpAOxNbyWg1xCXCSqk5W1Ud3s82/gWHegb/q0XSH\nOvbbAVgKCLWH9YXex3Nx35s1DaramJ1YWJufiMh5uHA7WURuqMdTHsMdWFvsjRbPAM4Rkc24g3nT\n9vDci4HRwEZcmJ3hPf5L3Ch9A65F8NTOr9WQ9wT8ACz0ZoksE5Fzd95AVXOBI4BxwCYRyQL+Ary9\nh/3eDLwCLAM+BMI1vrYNiBWRtcA1wLmqGt51F8bUn9hfZKalEpGLgIm4X0DlwHDcwcYuTfiag4B0\nVW3oXwDG7JGNrE1LNgLIV9Uy7/ODcKN2YwLHjkSbluzPwFPejJMwsBw4x9+SjNk71gYxxpgAsDaI\nMcYEgIW1McYEgIW1McYEgIW1McYEgIW1McYEgIW1McYEgIW1McYEgIW1McYEgIW1McYEgIW1McYE\ngIW1McYEgIW1McYEgIW1McYEgIW1McYEgIW1McYEgIW1McYEgIW1McYEgIW1McYEgIW1McYEgIW1\nMcYEgIW1McYEgIW1McYEgIW1McYEQIzfBRhTG0lJiQa6AolAN6Az7t9rDBC9yy3psEoKY6OAqlpu\nZcBWILf6oyoVzfqGjNlHFtamWUhKSidgEC54qwO45m3Hx1Q7ISL1foFt0VlA93rXIxRRI7xr3Gp+\nngWsBlaqUlzvWoxpAhbWptFISkoMMAQYVuM2FNVhiPRs2M7qn9MAaHECJDTkGQnebUA9y9kMrKzt\npkpBw4o1puEsrE2DSUpKT6qDuDqUVYcBQxDZ9d9UQ4N3r4qKCqNN+gq9vduUXV5ayGbHAF8GLFZl\nTZNWZFoVC2uzR5KS0h6YBByG6mHABEQ677phMwRy5Er0bpNqPihCBrAY+My7LbZRuNlbotq0wxET\nLJKS0hs4HNXDqKqaRnT0SESi/a6rTjMmbCPcrr3fZdRBgR/YHt6fAUtUqfS1KhMIFtatmKSkCDAS\nOIyqqiOAKURH9/e5rL0TjLCuTTHwFS643wdS7GCmqY2FdSsjKSn7A0lUVR2NyCSiojr6XVOjCG5Y\n76wM+BhIBpJV+c7nekyEsLBu4SQlJQqYTGnp6URHJxEbO8jvmppEywnrnW0AFgDzgXdVKfW5HuMT\nC+sWSFJS4gmHj6KsbC6xsUcTE9PJ75qaXMsN65q2AW8DrwFvqpLjcz2mGVlYtxCSkhJHefmxVFRc\nQJs2s4iObud3Tc2qdYR1TVXAJ8DTwHOqFPpcj2liFtYBJikpMZSXH015+S9o0+YoYmJaV0DX1PrC\nuqZi4CXgCeAj1SaecW58YWEdQPLyy32A6+jQ4WfExXXxu56I0LrDuqZVwDxgniobfK7FNCIL6wCR\n//znONq2vZ4uXQ4jOtpWTKzJwnpnYeAd3Gj7dVXKfK7H7CML6wgnL7zQnoqKq+nY8SI6dOjrdz0R\ny8J6T3KBZ4B/qfK138WYvWNhHaHkqafGEB9/M127JhEbG+93PRHPwrq+PgXuUmWB34WYhrGwjiDy\n5z9H0aXLebRvfyWdO49u5ettNIyFdUN9BdwFvGoHJIPBwjoCyKWXxjNu3O/o0eO3tGtnBwz3hoX1\n3voeuBt4VpUqv4sxu2dh7SMJhRI45ZQbGDr0Ejp2tJDeFxbW+2oVcA/wpCrlfhdjdmVh7QMJhdow\ne/alDB9+Ld269fC7nhbBwrqxbADuA/6hSonfxZjtLKybkYRCMcyaNZfhw39Pr171ukKJqScL68aW\nCdwLPGIj7chgYd0MJBSKYsqU4xk58h769z/QDhw2AQvrprIC+K0qb/tdSGtnYd2EJBQSJkw4nNGj\nH2Dw4EOJirKUbioW1k3tFeBKVdb5XUhrZWHdRGTOnGFMn/4oBxxwJDExdvm0pmZh3RyKgf8H3Gdn\nRDa/Zg9rEZkHvKaqrzXCvqYBvVT12X0urJFIKNSLCROuZPr0i+nYsWUs7B8EFtbN6UfgMlWS/S6k\nNQn0iE9VP/C7hmoSCsWQkHAsZ5xxF6NHj7KWh2nBDgAWiPAacIUqa/0uqDVo8sWARGSwiKSKyCJv\nVF3zaxeKyMcikiYiE7zH9hORt73HbvMemyoir3i3b0Vkjvf4+SLykHf/AxH5g4ikiMinItLVe/wC\nEflSRHJEJFtE5jb6ewyF+jBmzF+45JKnOOig0RbUppU4CVgmws0ixPldTEvXHCu3nQb8V1UnARdX\nPygifYDTVXUKMBd42PvSQ8CvVHUyMENEhnmPTwDOBqYB94pI7E6vI0CRqk7FXXj0DO/xO4EjgOOA\n91T1/xrrjUkoFCMzZ85mzpy3OP30i+jcuXNj7duYgGgL/AFIE2FYXRubvdccbZBkYL6IhHFBXG0C\nMFJEUrzP23gfJwP/Fje9rSvQD3dVjG9VtRQoFZFMoLarcH/kfVwFDPTulwHx3q3RGvQSCvVm9Oib\nOfbYsy2kjeEQ4CsRrlTlH34X0xI1eVir6hIRmYg7ivwWsL7Gl99W1Z/X8rTpqhqu/kREpgLR9Xi5\nmmdcVbcirsFdLXoFcH0DSq+VhELRtG07k9NO+yNjx44hKsrWlTbGaQf8XYRjgF/aNSIbV3P0rDur\naibwK+DAGl/6EpgiIu297bp5j3+Ba1kgIh1FpPoXylgRaedt14sdQ39PDgfmqurJqrpin95LKNSL\nESMe4NJLn+WQQ8ZaUBtTq5OBb0Q43O9CWpLmaINcICLn4FoQDwEjAVR1vYjcDXwoIlW4PvONwG+B\nv4vIjbjR8VHefpYDz+PaG9epaoXU70zATOAlEdkIfANcpaoVDXkDEgpFA0dy+OE3cdRRR9i8aWPq\n1Bf4QIQbVLnf72JagkCcFOO1QS5X1ZMb+LwxwO3AmbjLHP0TeEVV59d7H6FQAlFRF3Hqqedz8MGj\nG/L6phnZPOtI9ipwvioFfhcSZEEaIe7NdLgDgAxVLReRKKA7UFjvFwyF+tChw7Wce+4p9OtnCy8Z\ns3dOBkaLcIoqS/wuJqhaes91IbCfiKQCi4Hv63sijYRCY+jb935+85vzLKiN2Wf7Ax+LcITfhQRV\nINogzUlCoSjgWA488BLOOGMq8fHt/K7J1IO1QYKiFDhdlf/6XUjQtPSRdYNIKBQHXMCECVdz9tmz\nLKiNaXRtgFdE+JnfhQRNkHrWTUpCofbArzn66FOZMmWinTJuTJOJAeaJ0E2VB/0uJigsrAEJhboB\nVzBnzvEcfPBYv+sxphUQ4AEvsG/2u5ggaPVtEAmF+gE3M2fOsRbUxjS7m0T4q4hlUV1a9TdIQqH+\nwO9IShrHwQcf6nc9xrRSFwPP2sp9e9Zqw1pCoV7AdRx99DAmTbLTYo3x1+m4A4/1WQOoVWqVYS2h\nUCJwLUceOZQjjpjmdz3GGMCtCfRnv4uIVK0urCUU6gxcw6RJBzJr1kzqucCIMaZZ/FqEK/0uIhK1\nqrCWUCgBuJqxY0dy3HFH2ap5xkSk+0Q40e8iIk2rCSsJhdoCVzBw4DBOPnkW0dE2bdGYyBQFPC3C\nIX4XEklaRVhLKBQLXEJCwlDOOWc6sbHxftdkjNmj9sB/RejndyGRosWHtYRCAsxBZDQXXjiJhIRu\ndT7JGBMJ+gBviJDgdyGRoMWHNRACjuHss/ejZ88D/C7GGNMgBwHP25S+Fh7WEgoNAS5kypT2jBxp\nc6mNCabZwB/9LsJvLTasJRTqAlxOYmIlM2Yc43c9xph9cpUIk/0uwk8tckaEtyb1z4G2nHPONOLi\ngrXUaVYWPPIIbN0KUVFw002QkwOPPea+PmMGnLzTFc6WLIF//hMqKqBnT7j5ZoiOhltugS1b4Le/\nhTFjYNEiWLMGzjyz2d+WMfsgCviXCAerUuZ3MX5oqSPrqcBBJCX1pWfP/f0upsHatIGzzoK//AVm\nzoTnn3fhfeut7uPixbBx447PadvWBfNjj7mA//RTWLcOEhLgjjtgvnfZyddfhxNtCqsJpOHALX4X\n4ZcWF9YSCvUFzmHw4GLGj5/ldz17pUMHGDHC3U9MhKIiKCiAHj1cEE+eDP/7347P2X9/ty1At27b\nn5OY6J6Xnw9ffun227Zt874fYxrP9SK0ytUxW1RYe/OpLwJKOPnkY4iOjvW7pn320UcQCrkR8saN\nUFUFX3wBeXm1b19Z6b4+frwL7Y0bYf16F9qvvAJdusANN8CHHzbv+zCmccQAT4i0zBbunrS0N3ws\nMJBZsxJITBzodzH7bNEi178+8kg3Or7vPmjf3gV3mza1P+eJJ9z23bu7zzt3hgcfhKlTXQ/8/ffh\nnnvg2mvddsYEz8HAdcD/87uQ5tRiRtbekqcn0r59JpMnH+V3Pfts0yb429/gd78DEde+ePBBuPNO\nN7oeNGjX53z8MSxfDnPnbn/sssvg4Yfhq6/g1FPdY7Gxrp1iTHDdKsJwv4toTi3iJ9Y7S/EsoJJT\nTgnRpk0Hv2vaJyUl7qDgdde5VkZNq1fDihVw0EFulsfN3hWR0tPhySfdQcjonc4f+P576NsXOnVy\nQa/qZo0YE1zxuNkhLSLD6qOltEFGAwczaFAew4ZN8ruYffbqq7B5M/z1r+7z2Fg49lh46SV3/5Zb\n3MeqKrcduG1LSraH94gR8Otfu/vPPw+XX+7uT54MF10Es4J57NWYGibjLlrwnN+FNAdRVb9r2CcS\nCsUDdwFR/OpXMxg4cIzfNRkfzJiwjXC79n6XYZrd98BoVcJ+F9LUWsKfEFOAbgweHEP//qP9LsYY\n06xGAHP8LqI5BDqsJRRqA5wEZDJr1hSiouyqL8a0PreI0OJ/9gMd1sBhQHsGDmzDgAHW/jCmdRoJ\nnFznVgEX2LDeYVQ9c2bILtFlTKvW4q/bGOSAmwwkkJBQZQcVjWn1DhfhUL+LaEqBDGsJhaKBE4As\npk4dTUxMnN81GWN8d4XfBTSlQIY1MBToAhQzYkSL/m1qjKm300Xo5XcRTSWoYT0NKGXkyN507tzb\n72KMMREhDnccq0UKXFh7V4A5FMhi/PiD/K7HGBNRjvO7gKYSuLAGxgGCSJj+/VvVQi7GmDpNF2E3\nS1IGW6DC2luwaRqQy6hRfWjbtqPfNRljIko7XEa0OIEKa6AH0BsoYtSooX4XY4yJSC2yFRK0sB4B\nuJWn+ve3sDbG1MbCOgJMAgrp2DGeTp1sFogxpjaDRBjhdxGNLTBhLaFQe2B/II8RI/oiLX7dFmPM\n3jve7wIaW2DCGujnfVQGDuy3xy2NMa1di2uFBCmsB4C3DGLPnn39LcUYE+EO8buAxhaksB4BFAHQ\npYuNrI0xe5IgQk+/i2hMgQhrb371MKCQxMR2xMe387smY0zE29/vAhpTIMIaSATaABX06dPF72KM\nMYFgYe2DruBdELN7987+lmKMCQgLax90prrWrl0trI0x9WFh7YPuVJ+52LGjhbUxpj7287uAxhSU\nsO4LlALQpo0dXDTG1EdXvwtoTEEJ6x5Uh3VMTKy/pRhjAiLB7wIaU1DCuj1QCUB0tIW1MaY+2vtd\nQGMKSljHUz0bxMLaGFM/LaplGpSwjgOqAIiOjvG3FBMxwmHIL8nt/dkPPxKOjva7HBNxokSI87uI\nxhKU4Ns+slZVf0sxvigtLaKgIIOtWzPJzMxk1doCFmSMuz/z+x8rCI25gYtb5KWczD4Jq1LudxGN\nJeLD2jvVPIbqsK6sbDHffFOLiooyCgsz2bo1k6ysDDZtymLVqgK2bo0G2gIaV1EROyV986jf5xYO\nPIyC4X15aaPfZUcWxZ2aMNr7/Aa2rxh6N7AQSNnpOZ8CvwPKgIHA07gfu5OBNcAjwBTgLeA74Nqm\nKr4xlfhdQGOK+LD2VOJaNmEqK8v8LsY0gqqqKrZtyyYvL4OcnEw2b85k9eo8Nm0K43qNgvsFLcA2\nIF1UV41dtarrzVlZV81GDmqDRn3DfgWbOKiPn28l8uQDo4BPdnp8FZC6m+ckAM8CfYCzgPnASKAL\n8ABwMy6sHwOea/ySm4aFdXPS1FSVUKgUiAbCVFTYyDpIVJXi4q3k52eSm5tJRkYma9bksGZNGVVV\n7XD/XxX3y7gcSAdWx1fFbiqLrsgAsjQ1tTxJpMtEuPI8uLgfdK8+R+oqbsuFKLtw8g5yccvp7Owa\n3Cj7plq+dlCN+32APCDHu98fyAbexV2sKTAz4or9LqAxRXxYe0pwP9QVVFTYyDpSlZUVkZ+fydat\nGWRmZrJ+fRarVhVTUhJPzeMO7uMmYHW/km5bLlx/VKdxefv3SahqOxQ4FvgYSJmqU4uSRKLmiky5\nDO6fCofEuH8HAJQQG07hlB7N/C4DoAL4GjgC6IYbGX8EHIk7v6yu574NXOndXwms8J73CHACMBv4\nOXBaE9TeqLL9LqAxBSms2wJQVFTobynmp75yXl4mWVmZbNqUycqV1X3ldriZO9XXXdsKrGpbFbf2\ngvUz2x2ZM7pn9/KOQwSZGCb8C0GGCBIFUEzxlja0mTNdp38CkCTSfSr87hw4r6f7e3wHd3HRpjDt\nbW3zXQwD1nr3X8YFayywAFhfx3NvwYVw9be1O/Br4HRgC65VkgwcRQDCem3dmwRHUMJ6G9ABgNzc\nrf6W0oqEw1UUFWWTl5dJTk5Gjb5yFS6Uo3D9iOq+8hpg1SmbJ+vxGRO6DyjpPjCaqJGKngQcKEh8\nzd1HeTNHw4T1G75ZkkzyNYUUpiZKWnQPmHUt3HMYjI7aHvw7eJQrbM59nWbjQrUrbnRchetpz8S1\nNWp6FfgCdwCy2p+9jycD/8T1vOMIyKzfdX4X0JiCEtYZwCAgn8zMXJ9raXlcXzmP/PyMn/rKa9fm\nkJ5es68cZntfeQ2w6tC8/QvmbpyaOLywf794jR2u6LnAKEE61dy91J61AOSSm/s2b//7W779Y6qm\nZieJ9Dkafn8WnN4VdtuLfp9Dc/PYv0VdCaTx5OBmg0TjOkrH4EbV4P7XnY8L6rXA5cBrwFLg98B7\n1Og0eRYBB+BaKhW438+BOHTUaCNrEZkKXKGqJzXgOdOAXqr6bGPUEJSw3oBrwMHGjRbW+2J7XzmT\nzMwMNmzIZuXKbV5fOY7tI+Wf+sp9S7pl/Hz9rE7j8/bv1aGq3TBFj1V0TBRRvWvuek+hvLMqqqq+\n4qsvkkm+qoSStETSYn4tcurNcOd4OLCuPV3L7YW0sIV6Gs/XuIOJ7XGHCv66m+0qccdz8bYvBE70\nPp8E3Ofdvw941Lt/Au7yhnMbt+SmscbPF1fVDxpzfxKEc0wkFDoYuJTqhtsdd9xITEyLOTOpSbi+\nchZ5eRlkZ2eycWMmq1YVkpsbhWth1DzYtxFIb1sVl37e+hltp+WM7tm9vNMQQUYrOgb4qa/cGDLJ\nzFzIwseWsezhVE3NSxIZlAR3nw4ndKzHeg45dCxPJAuIs38DZk8OUGVlQ58kIoOAJ3GDxBHe/a/x\nRtYiciJuonl73J8lfwBWAyNUtVhEzgYmAv8DxqrqFSLyAW4u5RTcAYQTVDVXRC7AZdsg3EDpClX9\nv9rqCsrIOpfquVoA+fmb6dZtoH/lRJDqvnJ+fibZ2Zls3pxBenoeGzdWsWPw/TRfGVh14paJmpQx\nsfvA4h4DookapeiJuL7yDmcCNmS0XJcKKioWszh1AQuuCBP+JpG0uKtEzr8TbhkDQ+q7n99x1RaI\nG9BohZmWqBA3sXxvTcA1+wtwPaKa8x3fVNXXRSQG99fnXbhG/0zcBPVZuLOKah78FqBIVaeKyB+A\nM3B/8twJDMWdwXTl7oIaghXW20d2GRnrW11Yq0Jx8VYKCtzBvu195VKvrxzD9hZGOa5ft+rg/CF5\n526Ynjhie195LjC6IX3lxrCRjZsWsvCBlaz8e6qmFiWJDD0T7j0Jjmrnrq9Zb//hVy1qNTXTJL5Q\nZV/aBumqmgUgIv9jx2mAU0XkZlwmdcRNPH8ZmIML64nARcA5O+3zI+/jKtxpouBOGa2e2rrHeoMS\n1kW4wG4LlLB27XpGjPC5pCZUVrZth3UwNmzIYuXKIoqL2+D+p1axfSbGFmBVr9IuW36x7qhOE/IO\n6N2hqt1QRY9RdHQUUTuc3dfUobzLW6GsLJXUD97hnatSNXVZkki7G0UuuRduGObOtmiQZzgmo4Re\ndmDR1GXn0zcbak8Lgz0BzFTVFSKywXvsA+BBERkBfKeqFSK7/KzVPKOy+ovX4I4CrwCu31NBgQhr\n7yzG73B/mpTw3XfrOeYY2PWbESyVleUUFLj5ytnZbh2MlSsLvL5yW7b/plXcKWXpbavi1vxsw/S2\n07LHdO9R3mk/QcaFCf/cm6/80z8w8f7z0xrWrE0m+f+tY91/EkkrTRIZdR48eDwcEc/erYZ2GzcF\nYhqC8d2n+/j8wSLSGzdIPAQ34bxaW2CNiOwH9AbwwvlLXP/5vw14ncOBuar6v7o2DERYe5bhmvOQ\nm1vCtm3ZJCTUdk5t5HF95Rzy87evg5GenseGDZW4vnL17Iso3Cmy6cDKE7dM1BMyJiQOKu5ZPV+5\n1r5yVITNeS2hpOQjPlrwIR9el6qpq5JEOh4Cl58Hlw+GXnu733R6Fa9ksq0DYuoSBtL2cR8rgIdw\n/eTHcNOHqz2Km8/4JW5UXO1l4D/ArQ14nUzgJRHZCHwDXKWqFbVtGKSwXsf2GQywceOPDBsWWWGt\nCiUl29fB2LIlg3Xr3Hzlysq2bO8r7zBfeWz+kPxzN0xLHFk4oE+8xo5Q9GxcX3mHiwP7PVKujxWs\n+HEhC2/bzOaXE0mrOENk/MXw4CyYGLuP/96u5qYsiG5dxyrM3vhalYJ93EeFqp6x02MpAKp6O3B7\nLc9ZAixR1Wxvu3nVX1DVqTXuzwMQkTG4bsFwXLb9E7fcwvzaCgpSWGfgZuTHAhUsWbKMYcMm+1aN\n6ytvXwdje185HnfArPoXS3VfeXWv0i6bLlw/q+OErUN7d3TzlY/25iv72lduDEUUFb3P+68uYtFN\nqZq6Pkmk62S46mfwq761ryrUIJVE6X+Zu8sp58bU4plG2Mfe/BCeDbzQgO0PADJUtVxEonCtlt0u\npxGYsNbU1CoJhT7H/Sbawtdfb+CEE4qIj2/aJcAqK8t3WQdj1ap8cnJ+Wl+5xtb5wOq4cEz6eetn\ntJ2ePaZnz/LOgwU5NEz4fEH2i7S+8r5SVL/n++8XsODGXHIXJJIWnityxOXwwFQ4OLqRzkt+hLM3\nV9LZWiCmLpXAbqe/NRURWYw7gDi7AU9bCPxKRKrP4f9gTyfSBCasPZ/jGvIQDisbNixnv/0ObZQ9\nh8Phn+YrV6+DsWtfuXpqXAnefOUTtkyoOjFjYnVfeZSiJwDDI72v3Bjyyc9/l3ef+ZIv70jV1C1J\nIj2mwk1z4Wc93PnOjeZermvM3ZmWa6HqDv3lBlPVNcDYBj5nwl68ThFuRax6CVpY/4ibthYNVPHd\nd983OKxdX3nHdTDWrcth9epSr68cy/apcRW4vvLKsflD8udunNptZOGAfm3CcQd6feVRguzwp3nQ\nR8r1ESYc/oZvvkkm+dpCCj9IJE0uFDn2erhnMoza3cJLe+sLhhVsYWTvurc0hif9LqCpBOJ085ok\nFLoEdwmLLKKihJtuupy2bTvVuvH2vvL2dTBWrSpi27Y4tk9CF9zE9HXA6u5lnTZdtO7o6r7yUEVH\neX3luhYCbhVyyMl5m7f/tYQlf0rV1Jwkkb7HwB1nwZwu1SsjNrKpPLPmQ84a1BT7Ni3KVqC3Ki1y\nzfugjaz98iYJAAAbnUlEQVTBTZkZB7hWyI8//o8RI0K7rIOxenUB2dmCWwej5nzl6r7y6p9tmN5m\nRvZBPXuWdR4iyCGKng+0uL5yY6iiquoLvlicTPJVZZR9lkhazKUip98KdxwKw5rqO1REm6qPONEu\nMGDq47mWGtQQzLD+DjcSjgPKefHFRVRVLWHXdTCq5yuvmp0xruqkLZO6Dynu1d/rKx8HjGjKdTBa\nkgwyMpJJfnQ5yx9J1dT8JJHBJ8Ef58DxHdwvwybzBy7epLRr8JmOplVqsS0QCGAbBEBCoTm4tRzL\ncVNd1gCrxhQMyjt3w/Suo7b3lUfj5ivblK+9UEFFxSIWfbKQhVeECS9JJC1+KJx9Htw8GgY3Rw2d\nWJ1ZwGAbWZu6/KDKcL+LaEpBHFlz/voZyX1Ku26bkDe0T6fK9gcoOkvRq6KI2uESTzZS3nsb2LAx\nmeT7VrP68VRN3ZYkMuwsuP9EmNHQhZf21gIm5VhQm3p63O8CmlpEj6xTJCUK2A8YhVtCcJS3vvL+\nNfvKkUhR7ud+1rAGQbiSKxnirQKaRRYP8ABFFFFOORdwAZOYxFd8xWM8Rn/6cxu3AXAjN3Ibt9Gm\nefKRMsrKPuXT997l3atTNfWHJJH2o+DC8+HaoTsu+djkxvLW2m841s5YNHVZDwxVpdTvQppSRI6s\nUyTlRkVPw81Xblvza0EZLS9lKdlk8xf+wnd8x1M8xe3eGapd6cqlXEpf+pJFFldxFZOYxJu8yV3c\nxRM8wQY2sIlNjGJUswV1OunpC1hw1wY2PJ1IWtnJImMugIdmw+Hxbkpjs8mkc9k3zLDpeqY+bm7p\nQQ0RFNYhCQ3GjaL3m83sIw7n8EP8rmlftKMdueRSRRU55NCuxnG4aKLpi5sJuJKVxHj/GwooIJFE\netCDfPJ5jde4mZubvNZiios/5MM3P+bjG1I1dXWSSKdxcNV5cNlA8GU50uu5ZgvE2aja1OVrfDhj\n0Q8RE9a4xboHAHkf8MGyCUw4Mo64tnU9KVLtx36MZzwXczExxHAXd+3w9e/4jod5mAIKuMm7CEVX\nurKRjaxnPX3pS3/68yAPoijXcE2TjLCXs3xFMsm3ZJDxmrfw0sRfwwMz3cJLvrWanuWXu71YrjE1\nXKtaY4G3FiySzoF+HzclL6uEkoLlLF/sd0H7Ip98FrOY0ziNBBL4ki93+PpIRvIP/sEd3MGrvArA\nqZzK/dxPT3ryCZ/Qne4czMGMYQwf77AS474rpLDodV6f9yRPznhVX30hkbQOh8PdD8Kbx0LIz6Ce\nx/FbyuhhM3hMXZJVedfvIppLJI2sFwGn42qqfIM30oYxbEJQR9fv8A7jGc/RHM00pnEBFzCLWbts\nN5Sh/MiP5JPPUIbyMA+zhCUsYhGllDLYmyH3Az80Sl2K6lKWfreQhdfnkvt2Imnhn4lMuwLuOxLG\nNtbCS/viDn5X63q+xmynYZBWtWCM7z+Y1VI1tRB4F+/KC4UUln3Hd/t6tQfftKUtpd4xj1JKiSWW\nJ3iCT/mUbLIpx13wZCMb2cY2Eti+eOCLvMgc5tCRjuSSSxZZdKL2M+obIo+8vJd46dFneXbmG/rG\nW4mkdZsBj9wPr06HQyIhqFfSpzidCXZqv6mDzFNlid9VNKdIGlnD9isExwIVb/Lm4uEMn9SGNk27\nDGoTmMlMPuMzLuVSFOUyLuMDPqCYYtJJ56/8lXa0o4IKrud6or2uww/8QC960ZnOTGEKt3ALAHdy\n517XEiYc/pqv/5dM8jVFFH2USFrUL0WOuwH+OAlGNvbCS/viKm6xCwyYOmgxyC1+V9HcIm6edUhC\nJ+LOTlwHkETS+ElMasgasaaGbLJz3ubtx5ey9N5UTc1NEuk/G/5wJpzaGSLql2A50dqO3KIqOjbJ\nglCmxbhGlfv9LqK5RdrIGuA93KVt4oGyBSz4cjSjJ7envR1waoBKKqu+4IvPFrLwyjLKPk8kLfYy\nkTNvhzsOcVeoiDgP8rNNVXS0FojZA30T5AG/q/BDxI2sAUISOho4A290PYlJQ5JIOtffqoJjC1sy\nkkl+ZAUr/pKqqQVJIkNOhXtOheMS3NVtIlIPlm7KYqRdDcbsRtVmiB6tSo7flfghEkfWAB/hLo+T\nABQtYtHqgzjom4EMPMjnuiKat/DSRwtZeGWY8NJE0uKvEfnF3XDTSBjkd3178hnD87MYYUFtdkOr\nIPr01hrUEAFH/2uTqqklwL+BHngHv17kxYVllBX7WlgEW8/6DfOYd/UCFpz4iX6yJJG0YWfDK3+A\nv0R6UANcze15EXSc00Se21T5xO8i/BSRbRCAkIQEuAQ4CNgEMItZo6cx7RRfC4swpZSWfcIn77zP\n+9ekauryJJGE0fDL8+HqAyAQ/d9C2lZ2IrdSadM8i6CYgKl6H6JntZYzFXcnIkfWAKmaqsCzuKu7\ntAF4h3eWZJCx0tfCIshqVqf/i39d/D7vz0kkbcXJIgddCP+9Fe4JSlAD3MalmyyoTe2qsiD6rNYe\n1BDBYQ2Qqqm5wNN4J8oAPMuzr5VRVuRfVf4rprj4Ld56/p/8c/qL+uK8RNLix8MtD8PCE2FqfVfI\nU9yCLIfhLhlf8wyDjcDx3uPjgLe8x9/HXfb5jBrbHo+7LM/eepxLI/agp/GThiH6TFUy/a4kEkR0\nWHs+AZbhrf6WSea2t3jr5TDhyOzfNCFF+YEffvgH/zjvEz45N5G0tWeLhC6B5Bvh1gENXCHvU2CD\n9/Fe4I4aX+sFPIz75r8OXOE9/jgwH/enzo+4s5gOY++v7TWfw7OLGNB9L59uWjS9XZX3/a4iUkR8\nWKdqahj4J24gmADwOZ+v+ZZvP/C1sGZWSGHh67z+r6d4auZr+tpLiaR1mgJ/uh/+ewxMitmLhZc6\nAluASmCz93m1aNx6teDWoIzz7ucAfYD+QDbwF+DSvXtLANzErXbQ2NSi/HHVqD/4XUUkidgDjDsL\nSWg0cA3uqhCVgnAZl53Tk577+1xakwoT1qUsXZJM8vV55L2TSJp2hennw5+mwEH7up7H74AFuDCe\nz45D8zRcEGcDz+BG0OcBNwK34uZWLsUFvuJG3Q0ZYW+ma2kftkRDbLNe2MBEuqI3IOFE61PvKOJH\n1tVSNXUJ7i/y/uBaAv/hP6+UUFLgb2VNZytbt77ES488x3Oz3tK3khNJ6z4T/nIfvDQVDt7XoM7G\nBfWVQGfYZa3JycCXwKvAn73HLmf7wuOv4f5nTAeOAF5p4Otfx3UZFtRmR0VpkHCqBfWuAjOyBghJ\nKAa4GhiC+8udEYzodSZnXhBDTNwenxwgVVSFv+brLxew4Jpiij9JJC2qF8y+AO6eCMMba+Glh3Hf\nxD8CpbgLXe5uqs1QIBVI9D7/FHgT15eaiBtZf44bdddXPFlby0m0ZQSMp2gpJExSZZvflUSiwIys\nAVI1tRL4B+4iBZ0Avuf7LQtZ+GJLOeCYRVb2szx798u8fPS7+u5HiaT1Ox7+fS88MxlGNOYKee3Z\nPoujGLcYy624dsgm3DcZYBWQD9RM1QdwI/JuuDbIBrYHeX08zkmbLajNdoXLIOEwC+rda5KRtYi0\nAyaoaoqIxACPqOoljbX/kIT2w7Vbs4ESgOM5/tAQoeMb6zWaWyWVlYtZvGghC6+ooOKrRNJiB8Np\n58PvD4Ym6cuXAHNxYRsG7gKex7U0uuP+hOkAlAN/wK2uBW4E/RxwP5AJnIwbWb/uPa8+BvLZhnVM\naNarpZtIlf8jRI9TTWixLc3G0FRhfRwwXlVvb/Sde0ISOhS4DDeoqwA4kzOPHMOYqU31mk1lM5s3\nJ5P88I/8+FiqphYmiex3GvzpFDg2khde2lvLGFA0gvR2EBWov+xMU8j/EWLGq7bP97uSSNfgsBaR\nW3AXCAC40Lt/Dq4t8QjueNS7uL+QP1PVOSKSp6qdReR8YArQz7vdqKrzRWQQ7grFXXHLd85X1VPr\nqiUkoaNwg8O1QBXABVxw7AEcMKFBb8on5ZSXp5H24UIWXgl8n0ham+Hws/PgxhHQYhfgn83jaxbw\ni0F+12H8lvs9xIcsqOunQWEtIuOAS1X1fBGZAfwCOFdVK0WkG/CFqg72QnlQ9ch6p7C+CjgUN6Hg\nGVWdKCJ/wh3behz4FgipamFd9Xjrh5wKJAHpgArCz/n5cfux37h6vzEfrGPd+mSS/7iGNfNSNbU4\nSWTEXHggCaa12T6tucUpIybcntziKjpE1IUPTHNb8x5EHas6wK63WU8N/TP0cOBwEUkBfo+bDDBH\nRD7BzdyqzwGjNFWtUNVVuFX1wE1GaOPVE4NrgdbJWz/kFSAFt7KcKMq/+NebK1ixqL5vqjmVUlr6\nDu+8/jf+NuMZfeaxRNKibhG5+kF453Q4uiUHNcC9nL/Jgro1Cyt8/gRcNsuCumH2Zj3rp1T1DgAR\naYtrQYwEtuIO+NWlpMb96pkND+Bmgx0N3Keq9V77I1VTwyEJPYU76W4KsAYIz2PewrnMrRrBiMPq\nu6+mtpKVqxaw4Peb2fxCImnlc0QO/gU8eAyE4uq5nkfQPcTVkbqGumlypeWQdj08+LDq/BYxe6s5\nNXRkvQiY7c3wAHfC2jZVzcKNuqsV07Dr+w0A3lXV41T1Xw2sqXpK3xO4dYYG4r2v/+P/3l3Ckg8b\nur/Gto1t297gjWee4IkZL+vL/0kkre1EuO0BSE6CI1tLUH/MmLwchvXyuw7jh7x8eOcE1WkPWVDv\nnQaNclR1kYj8F0gTEYCngPdFJA235s8Kb9MU4CYReVFV59Rj1wXAWV5PPAe4WVW/bUhtqZpa5Y2w\nK3Aj9LVA1bM8m1JJZcVYxs6UZl7c3lt4aVkyyTdnkfXfRNIqzxY57FK4fzqM25v1PILsOm7LB+ns\ndx2muW1cAymzVM+x5Y33QUScwSgiHwLnq2q6d+DyN6q6VxcZCEkoCpgDHEeNWSIzmDFyKlNPiia6\nWf4ML6Cg4D3ee+5zPv99qqZuShLpPgVuOBcu6FW/3n6Lkkf7iq7khJX4eL9rMc1p2SfwyrGqN7Xq\nZY0bQ6T0D4fgXQ0GdyJcnTNBdsfrYb+AW0zuRNzSzGXv8d532WTnncRJZ8UT336fK96NMOHwEpYs\nSSb5unzy30skjZ+LHHU13HM4jNnX9TyC6hYu36zED/C7DtNcKsPw5RNw18Wq86v8rqYliJSR9TW4\n+dJFuJkhv1TV9H3Zpzet7wjgAlxrpRCgH/06zWXu2R3p2GNPz98bueTmvsM7877hmz+mampWkkjv\nWXDb2XBWtx1XIG11EtiQvY2+DTkj3QTW5hx47zJ44VnrTzeeiAjrphSS0HDcYnGVeLNVEkiIu5AL\n5zTW8qpVVFV9xVdfJpN8VQklaYmkRfeDE86DOyfA8NZ+GdiXmZZ1Gu/bBQZavKowpCyG/5ynOm9F\n3dubhmjxYQ0QklAf3MVOOuO1W6KJljM4Y+pIRk4RZK/zNJPMrIUsfGwZyx5K1dS8JJGBJ8Bdp8NJ\nndxaSa3eCN5bt4zp1gJp0bZshacfhQ/vVZ1va3w0gVYR1gAhCXXEXS39QGAdbu0iJjJx8DEcc0o8\n8Q06UcNbeCnVW3jp60TS4obA6efDbWO3X2Sl1dtAYkl/NsdCTKQcHzGNqkrhoy/g37+BvC+s7dF0\nWk1YA4QkFAecBhwDZIBbjrEHPdqfzdmn9KDHkPrsZyMbNy1k4YMrWfl3b+GlA4BfHAgHXAXje7l1\nTwxwFvevfY6rWuw6J61bZh48/Rh88CfV+ba+RxNrVWENPx14HAv8yntoC4AgzGHOlDGMmRZFVK1t\nkXLKyz/l0w/e4Z2rUjX1e4AkkcOAX+MOYm4V4CIYNwtmxrklolutMNCGnPwKunbyuxbTmMIKH38F\n834DOYttNN08Wl1YVwtJqDsusPfHXdexCuAQDul/LMee3J72O8yFXsvatQtYcPc61j2Vqqk/nTKf\nJNIfuBjoi5smWAEwEBJ+DTOGw9jWeoDxMeZs/g0v9Pa7DtOY1mXCK/+G9++20XTzarVhDRCSUCxu\nLvYJuJkihQDtaBd7OqfPOIADJpRSWvoRHyV/yIfXpWpqrWdgJYnE4ZaKPRUX1hl4i1GFoPd5cExv\nd0p9q9KPLzdu5JC+ftdhGkP2VngpDd66HbDetA9adVhXC0loFO46sO1ws0XCQPdhDBuQT/5zW9jy\nUqqmlu1xJ0CSSC/gDOAQIA+3uBW4B0ckwawObkZKi7eEwYVjWJnAblpKJigKt8F/v4aX/wMVL6jO\n31r3c0xTsLD2hCTUARe0U7yH0oEnUjV1XUP2k+QWTRmOuyBDX9wouwSgLURfDJMPg8Nbej/7KOat\neYfzBvldh9lbZeXw7lJ45iUofFZ1/hq/K2rtLKxr8A4+jsJd5eYTbzW/vZLkViacDJyJW6t7M+7E\nHHpAmwtg8niY2BJDu4TYcAJbS8K0t3nmgVNZBWnL4ak3IWMesMxaHpHBwrqJJYkk4KYKHovrY2/G\nO5jphfak8TCpJYX2bfx6wx08ZtMXA0WBb1fDvPdh1T+Ar2xNj8hiYd1MkkS640J7KjuFdiK0+TlM\nmtBCQrsrKzK2ckBPv+sw9REOw9I18PKX8L+/AZ+ozi/3uyqzKwvrZrZTaIdx87x/Cu1zYdwEGN8+\noAs/fcAhudP5sqvfdZi6lJfBZ8vh+e9h3fPAu6rzbRnTCGZh7ZMkkUTcRRKm40baGXhztGMh6jQY\nPh0m9QzY2ZDjeX3tFyTZGYsRq7AAPvgBXvwe8t8G3ladn+N3VaZuFtY+80J7hneLxc333lb99SnQ\nJwkm7Q8jI30t7FwSKrqRE4a4wLdyWhYF1q2D5JWQvAyq3gA+VZ2/1+vGm+ZnYR0hkkTaAxOA44Gu\nuMDOwTu5ZiAknAHjxsLYBIjI07cv5ta1f+f3NqqOGOVl8NUKePlHWL4cmI87cGg96QCysI4wSSLR\nwAhgNm6FwAogE2/aXxTIbBgyDQ4eAgdGR9B1HNuxKaeE3t38rqN1CytsXAefrof56VD0OfAOsEJ1\nftjv6szes7COYEki/YBpuBN1YnEXFv7pDLJEaHMyjBwHY/w+nf05ZmWexduNfvUdUx8KbFkHi1fD\nm1tgSw6wEEhTnZ/tc3GmkVhYB0CSSFtgNHAUbq1sBbLwzowEGA5djoGRo2B4d+jT3DUO5cP1P3JE\n/+Z+3dYtYyN8sQre2gzri4HlwLvAEmt1tDwW1k1ARNao6qCdHnsMuExV9/qsSIAkkd7AobgDkp1w\n7ZEc4Ke1S/aHjkfB8DEwvBcMiIImXZ9jLT2LB7ExHqIjpiXTcmVvhi+9gE4vAlYBHwJLVefn+Vyc\naUIW1k2gtrBubEkiUbhR9gTcae3tcPO1c6kx4u4D7WbDgQfB8L4wKKYJrmh/Gg+veZnLBjX2fg24\nHnTOZvg2HRZsgRUFwBrgI+Bb1fm5/tZnmouF9U5E5GPgHFVdJyLLgdtU9TkReRb4G3Arbq2Pr3Ej\n5SoRWQy8jjsoOB1YrqqDROQo4FrcfOrVuIsejAUuBeKAwcCjqvo3EekMvIRbl2QssFhVJ9anZu+g\n5CDveYfjRtyKC+6fpgG2g5ipMOAQGDIE9usGvfZ1yF1JlLYlu6CSLhE5QyV4FNiaAenp8PUW+LAI\n8iqBDUAKLqCzfC3R+MLCeicicg/wObAY+DuwTlV/JSLfA2uBe1Q1RUT+DHyuqk+JSDpwh6r+29vH\nGlyrYiEwW1Uzvceqw/oFYAiuPfGtqg4WkUuAfqr6OxFJBq5U1WUNrd8bcfcDxuAOTFZfVbwEd3Dy\npzZMH2g3DYaMgiEDYcjeTAl8iLM3XcnTzd4jb1nycmBtOizZACkFkFmF+7exGS+ggQxbUKl1s4uY\n7ioVOAzoAMwDLhORbrj1qQ9V1RRvu2TcxQaewv1gLdhpP48DD6hqZi2v8T9VLQIQ+enK6qW4ETu4\n9UH26gdzvmoYd0HgdUkib+LCeghuje0xuFklAhRsgoKnYSnuxlDoNB76HwD9+kG/btCrrqmBf+I6\nC5AGK8yDdemwdAN8uBU2VC+YlIf7i20pbonePAtoU83CelepwG+BXsD1uDWuZwNpwP4iIur+HBF2\nPKOwdKf9LAfOB56p5TVKannsaSBFRN4A3lXVH/blTQDMd3VmerdFXrukP+5SZuNxPe/qXxbbVkDB\nihrh3RaiJ0Lv0dB/MPTrCX1qXjzhaw4o2MxoG1XvVlihIAeyMmBjBqzKhq9LYG0Y98t4G/ANbuSc\nDuRYOJvdsbDeiapmiVuLuouqbq7uYeNGysNxCzB9gFuMadEednUX8E8ROV1VX6jHS7cDtqjqyfv0\nBvZgvmoV7uDUGuBdb0rgAO82ChiK66UDVJZAQQpsTHH9UgA6ENOpgv1OPoLSH5M5LQ4yBkHX7hDf\ntqnqDobSYsjOgIwMWJcBy7Lhm2IoacP2n7MSYAkuoNOx1oZpAOtZ10JE5gEVqvpLETkU+Aw3Im0P\n/APXrlgF/EJVy6r70aqa5z1/DS78OgHvA+NwP6TVPesrVPWk6m29g5EJwDJcMObjeuMfNM87drx+\ndw9cz3so7kzK3rhRYBRQuZme/ZYzLKGQTu/v+Ox+7WFEIgzuDn26Q2I3SOgI7TpAfBtahMpK2JYP\nBfmQnw8Z2bAqE77O936ftcWtpCi4M0/XAiu9jxuBzXYWodlbFtYRQkSeBx5S1TQR2R94QVUP8bsu\nb/Td07sNWs2gI5ZzYEIlsZW4EI/GBVOxd6vlZIx2MTCwg+ui9OgA3TpA5w7QqQMkdID2HVyox8Xt\n+tzmEFYoK4biIthWCEVFUFAEeUWQXQCb8iE9HzZW4X5RJ+ACufqXWAZuts9K3JK3GcBWGzWbxmRh\nHSFEZAkwU1UzRGQi8CdVPdLvumojkiS49ba7e7f+uKmD/XFBVt2TFbaHWjnuxJ3qj7VchaRTHPRt\nD+1joU0MxMdAm1j3Ma7GLbbG/Rjv85gYqKqC8ooat0ooq3C30gooqYDSSvexpAK2VcC2SsgqhcpY\nXAsoDneAN7aW97EVF8YrgfXe/SzV+XVeTNmYfWVhHSFE5GzgOqAQFwyXqepX/lbVcCJJsbiZNDVv\nXdge7F29Wzy7hiE17ofrcaue4haFG+FH7XS/+mP1/mB7m6L6H36Udz8fF8a5uGVqN3uPVd8K7DJX\nxk8W1sYXIknx7BjocbgDcdW3OFzLIb7GLW6nW3Xgl3m30p3uV9/Kca2aCtw88wpvm0KgCCixXrKJ\ndBbWxhgTABF95RFjjDGOhbUxxgSAhbUxxgSAhbUxxgSAhbUxxgSAhbUxxgSAhbUxxgSAhbUxxgSA\nhbUxxgSAhbUxxgSAhbUxxgSAhbUxxgSAhbUxxgSAhbUxxgSAhbUxxgSAhbUxxgSAhbUxxgSAhbUx\nxgSAhbUxxgSAhbUxxgSAhbUxxgSAhbUxxgSAhbUxxgSAhbUxxgSAhbUxxgSAhbUxxgSAhbUxxgSA\nhbUxxgSAhbUxxgTA/wd4SGxbYMSNNQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa828351518>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "'5,饼图'\n",
    "slices = [7,2,2,13]\n",
    "activities = ['sleeping','eating','working','playing']\n",
    "cols = ['c','m','r','b']\n",
    "\n",
    "plt.pie(slices,labels=activities,colors=cols,\n",
    "        startangle=90,shadow= True,explode=(0,0.1,0,0),\n",
    "        autopct='%1.1f%%')\n",
    "\n",
    "plt.title('Interesting Graph');\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nhlMAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa827fcb320>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "'6，绘制子图'\n",
    "\n",
    "def f(t):return np.exp(-t) * np.cos(2 * np.pi * t)  \n",
    "t1 = np.arange(0, 5, 0.1) ;t2 = np.arange(0, 5, 0.02)   \n",
    "plt.figure(10,figsize=[8,6])  \n",
    "plt.subplot(221)  #分成2x2，占用第一个，即第一行第一列的子图\n",
    "plt.plot(t1, f(t1), 'bo', t2, f(t2), 'r--')  \n",
    "plt.subplot(222)  #分成2x2，占用第二个，即第一行第二列的子图\n",
    "plt.plot(t2, np.cos(2 * np.pi * t2), 'r--')  \n",
    "plt.subplot(212)  #分成2x1，占用第二个，即第二行\n",
    "plt.plot([1, 2, 3, 4], [1, 4, 9, 16])\n",
    "plt.suptitle('Interesting Graph',fontsize = 15)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## Python 教程 http://www.cnblogs.com/chaosimple/p/4153083.html"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": false,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "MarkDown菜单",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
